作业帮 > 综合 > 作业

c语言编程,输入一些整数,判断其中正数与负数的个数,并分别求出正数与负数的平均值

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/17 07:50:49
c语言编程,输入一些整数,判断其中正数与负数的个数,并分别求出正数与负数的平均值
而且当输入数值为0时结束
#include
void main()
{
int i,k,n=0,m=0;
float fu,zhen;
int a[10000];
k = 0;
while (scanf("%d",&a[k]) != EOF)
k ++;
fu = 0;
zhen = 0;
for (i = 0;i < k; i ++)
if (a[i] < 0)
{
fu += a[i];
n ++;
}
else
{
zhen += a[i];
m ++;
}
fu = fu/n;
zhen = zhen/m;
printf ("负数的个数为:%d 平均数为:%f.\n",n,fu);
printf ("正数的个数为:%d 平均数为:%f.\n",m,zhen);
}
代码是我直接写的,没用软件所以格式不好看,
再问: 在win tc上为什么编译失败?
再答: 在win tc 不是编译失败而是一闪而过对么。 你要在末尾加 getch (); 要想以输入0结束,只须把while (scanf("%d",&a[k]) != EOF) 改为while (scanf("%d",&a[k]) &&a[k]) 改后程序为: #include void main() { int i,k,n=0,m=0; float fu,zhen; int a[10000]; k = 0; while (scanf("%d",&a[k])&&a[k]) k ++; fu = 0; zhen = 0; for (i = 0;i < k; i ++) if (a[i] < 0) { fu += a[i]; n ++; } else { zhen += a[i]; m ++; } fu = fu/n; zhen = zhen/m; printf ("负数的个数为:%d 平均数为:%f.\n",n,fu); printf ("正数的个数为:%d 平均数为:%f.\n",m,zhen); getch();\\这是在win tc 里编译要加的。 }