#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);