《C程序设计教程(第四版)——谭浩强》
习题4.1 统计全单位人员的平均工资。单位的人数是不固定的,工资数从键盘先后输入,当输入-1时,表示输入结束(前面输入的都是有效数字)。
代码:
//《C程序设计教程(第四版)——谭浩强》
//习题4.1 统计全单位人员的平均工资。单位的人数是不固定的,工资数从键盘先后输入,当输入-1时,表示输入结束(前面输入的都是有效数字)。
#include <stdio.h>
int main()
{
int wage_everyone[100]={0};
int size=0;
size=sizeof(wage_everyone)/sizeof(wage_everyone[0]);
// printf("%d\n",size);
printf("请输入你所知道的每一个人的工资数(按负数输入错误,按-1输入结束):\n");
int i=0;
for(i=0;wage_everyone[i]<size;i++)
{
int x=0;
printf("第%d个工资:",i+1);
scanf("%d",&x);
if(x<0)
{
if(x==-1)
{
printf("!!!输入结束!!!\n");
break;
}
else
{
printf("!!!输入错误,结束程序!!!\n");
return 0;
}
}
wage_everyone[i]=x;//i=8一共有9个元素
}
printf("每一个人的工资为:\n");
// int j=0;
// for(j=0;j<i;j++)//只输入有效输出
// {
// printf("%d\n",wage_everyone[j]);
// }
int n=0;
int sum=0;
int y=0;
for(n=0;n<i;n++)
{
sum=sum+wage_everyone[n];
y=sum/(n+1);
}
// printf("每个输出的工资之和%d\n",sum);
printf("每个输入的工资的平均输:%d\n",y);
return 0;
}
运行结果:
编写代码过程中遇到的问题(思路):
(1)怎么输入一个数组?
一个数组中按照下标的大小依次输入(使用for循环)
(2)怎么给一个数组赋值?
直接赋值法
例如:int arr[4]={0};
arr[0]=1;
间接赋值法
例如:int x=0;
x=3;
arr[0]=x;
(3)怎么输出一个数组?
一个数组中按照下标的大小依次输出(使用for循环)
调试步骤:
(1)输入的数组是否正确
printf("请输入你所知道的每一个人的工资数(按负数输入错误,按-1输入结束):\n");
int i=0;
for(i=0;wage_everyone[i]<size;i++)
{
int x=0;
printf("第%d个工资:",i+1);
scanf("%d",&x);
if(x<0)
{
if(x==-1)
{
printf("!!!输入结束!!!\n");
break;
}
else
{
printf("!!!输入错误,结束程序!!!\n");
return 0;
}
}
wage_everyone[i]=x;//i=8一共有9个元素
}
printf("每一个人的工资为:\n");
【错误1】数组大小的错误书写
错误:
正确:
【错误2】数组不初始化,导致整个输入错误,不显示结果直接结束程序
错误:
正确:
(2)输出的数组是否正确
// int j=0;
// for(j=0;j<i;j++)//只输入有效输出
// {
// printf("%d\n",wage_everyone[j]);
// }
输出数组与对数字中的每一个元素进行求和并取绝对值相似,重点在于对判断条件的理解
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » C语言典型例题60
发表评论 取消回复