用数组求平均数一直没输出

img


输入后一直没有输出
是不是卡循环里了
还是别的问题
等待解答..(凑字数专用)

#include <stdio.h>
void calculation(int a[],int count);
int main(){

//读取数据并储存 
 int a[100];
 int i;
 for(i=0;i<2;i++)
 {
  scanf("%d",&a[i]);
 } 
 calculation(a,i);
 

 return 0;
} 
//运算求和 
void calculation(int a[],int count)
{
 int sum=0,n=0;
 double sun;
 for(count=1;count>=0;count--)
 {
  sum+=a[count];
  printf("%d\n",a[count]); 
  n++;
 }
 printf("%d\n",sum);
sun=  (double)sum/n;
 printf("%f\n",sun);
}

函数内循环应该从count-1开始,不然就越界了
最后的printf是错的啊, count在循环结束后都变为0了啊
所以你在函数里最好再定义一个变量等于count

void calculation(int a[],int count)
{
int sum=0,n=count-1;

for(;n>=0;n--)
{
sum+=a[n];
printf("%d\n",a[n]);
}
printf("%f\n",sum/count);
}

for(i=0;i<100;i++) scanf("%d",&a[i]); 你确定你已经输满100个数了?为了调试方便,建议先改成 i < 10 ,输入10个数试试。
第12行:calculation(a, i); 应修改为:calculation(a, i-1);