个人理解,仅作参考,arr是指针,指向的是一个地址,给函数的参数也是一个地址,就像房间一样,arr与arr1都有门牌号地址,进入的是同一个房间,改变了该房间内的物品,arr1进入时就变化了,而arr2[0]与value则是两个房间(不同的内存空间),只是房间摆设格局是一样的(数值一样),但value使用完了就会清空(函数运行结束),将空房腾出,并不会影响arr2[0]
看来后边别人写的代码,又学会一点。
#include <stdio.h>
int main()
{
int score;
int arr[20];
for (int i=0;i<20;i++)//补充的代码
{
scanf("%d",&arr[i]);
}
int max=arr[0];
int min=arr[0];
int sum=0;
double average=0.0;
for(int i=0;i<20;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
for(int i=1;i<20;i++)
{
if(arr[i]>max)
max=arr[i];
if(arr[i]<min)
min=arr[i];
sum+=arr[i-1];
}
average=sum/20.0;
printf("max=%d,min=%d,average=%f\n",max,min,average);
return 0;
}
不会使用scanf()输入数据,也不知道如何将输入的20个数据存入数组中。
只写了一个简单的。
#include <stdio.h>
int main()
{
int score;
int arr[20]={87,86,85,84,82,75,79,89,98,87,85,99,95,91,93,68,85,85,81,77};
int max=arr[0];
int min=arr[0];
int sum=0;
double average=0.0;
for(int i=0;i<20;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
for(int i=1;i<20;i++)
{
if(arr[i]>max)
max=arr[i];
if(arr[i]<min)
min=arr[i];
sum+=arr[i-1];
}
average=sum/20.0;
printf("max=%d,min=%d,average=%f\n",max,min,average);
return 0;
}