问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
```c
//找出若干个非零数中的最小值和平均值
#include<stdio.h>
int main()
{
int i,a[100],t;
float min,sum,ave;
for(i=0;i<=99;i++)
{
scanf("%d",&a[i]);
}
min=a[0];
sum=a[0];
t=1;
for(i=1;i<=99;i++)
{
if(a[i]==0) break;
t=t+1;
sum=sum+a[i];
if (min>a[i])
min=a[i];
}
ave=sum/t;
printf("min=%.0f,ave=%.0f\n",min,ave);
return 0;
}
``
无论输入什么,均值的结果总是等于 最小值
刚总结了一下,假设只输入6个数,最后一位以零为结束的时候结果是对的;要是以逗号间隔输出或者不以零为结尾,平均值都会出错。
而题要求的是若干个数,所以我定义了一个较大的数组,但是不输入全的话不会运行,所以得让输入程序停止运行,测试过\n和\r都不起作用