在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中,数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
【案例描述】
编程实现:输入10个人的成绩,求总分及平均成绩。
输入格式:1 2 3 4 5 6 7 8 9 10
输出格式:总分=55,平均分=5.50
【参考代码】
#include<stdio.h>
int main()
{int a,b,c,d,e,f,g,h,i,j,s=0;
printf("输入成绩:\n");
scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);
scanf("%d%d%d%d%d",&f,&g,&h,&i,&j);
s=a+b+c+d+e+f+g+h+i+j;
printf("总分=%d,平均分=%.2f",s,s/10.0);
}
【说明】
1、也可由以下代码实现案例需求:
#include<stdio.h>
int main()
{int a,i,s=0;
printf("输入成绩:\n");
for(i=0;i<10;i++)
{ scanf("%d",&a);
s+=a;}
printf("总分=%d,平均分=%.2f",s,s/10.0);
}
2、以上代码的优点是变量少,缺点是没有保存10个成绩。
3、按照参考代码的思路,人数越多,需要定义的变量也越多,也需要更多的代码行来调用scanf函数完成成绩的录入。而利用数组,则能很好地解决这些问题。如以下代码所示。
int main()
{int a[10],i,s=0;
printf("输入成绩:\n");
for(i=0;i<10;i++)
{ scanf("%d",&a[i]);
s+=a[i];}
printf("总分=%d,平均分=%.2f",s,s/10.0);
}