在程序設計中,為了處理方便,把具有相同類型的若干變量按有序的形式組織起來。這些按序排列的同類數據元素的集合稱為數組。在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);
}