4.編寫一程序,從鍵盤輸入10個實數,計算并輸出算術平均值。
【解析】相關的變量和數組:用來存放算術平均值的變量(例如用ave)、存放10個實數的一準數組(例如用a[10」)。因為ave要求和,所以事先要賦初值0.0。第1個次數為10的循環(huán)用于輸入10個實數存入數組a,可以使用for循環(huán),利用下標變量i來控制循環(huán)。第2個次數為10的循環(huán)用于求10個數組元素之和存入變量刪,可以使用for循環(huán),利用下標變量i來控制循環(huán)。最后是輸出結果,要注意變量ave中存放的是和,必須除10后才是平均值。
【參考答案】 main()
{ int i;
float ave=0.0,a[10];
for(i=0;i<10;i++)
scanf("%f",&a[i]);
for(i=0;i<10;i++)
ave+=a[i];
printf("%10.4f\n",ave/10.0);.
。
5.編程序輸入50個學生的學號、姓名、3門課程的成績存入一個結構型的數組。統(tǒng)計每個學生的總分并輸出學生的學號、姓名、總分。
【解析】首先要設計一個結構型,其成員包括學號(長整型)、姓名(字符數組)、3個成績(實型或實型數組)、總分(實型)。定義長度為50的這種結構型數組。用單重50次的次數型循環(huán)輸出50個學生的信息。再用次數為50的單重循環(huán)依次求出每個學生的總分(等于3科成績之和)存入成員總分中。最后仍然用50次的單重循環(huán)輸出50個學生的學號、姓名和總分。
【參考答案】main()
{ struct{ long num;
char name[20];
float score1;
float score2;
float score3;
float total;
}stu[50」;
int i;
float x1,x2,x3
for(i=0;i<50;i++)
{ scanf("%1d,%s",&stu[i].num,stu[i].name);
scanf("%f,%f,%f",&x1,&x2,&x3);
stu[i].score=x1,stu[i].score2=x2,stu[i].score3=x3;
。
for (i=0;i<50;i++)
stu[i].total=stu[i].scorel+stu[i].score2+stu[i].score3;
for(i=0;i<50;i++)
printf("%1d%name%f\n:", stu[i].num,stu[i].total);
。
6.編寫一程序,輸出如下圖形。
*****
*****
*****
*****
【解析】分析題目中給出的圖形,可以看出需要使用二重循環(huán)結構。外層循環(huán)控制行,這是次數為4的次數型循環(huán)結構,可以使用for語句,其控制循環(huán)的變量i依次等于1、2.3、4,循環(huán)體中的工作有兩項:一項是輸出前面的空格,第二項是輸出該行上的符號串”*****”。由此得出外層循環(huán)結構如下:
for(i=1;i<=4;i++)
{ 輸出前面的空格;
輸出符號串”*****”;
輸出前面的空格需要使用循環(huán)。我們來看題目中給出的圖形,第1行上要輸出的空格數目是0,即“1-1”。第2行上要輸出的空格數目是1,即“2-1”,…。顯然,第i行上要輸出的空格數目是“i一1”。由此可以得出這個循環(huán)也是次數型循環(huán),控制循環(huán)的變量j依次等于 1、2、…、 i-1。其中的i是行數。由此可以得出這個內層循環(huán)的結構如下:
for(j=1;i<=i-1;j++)
輸出1個空格;
外層循環(huán)體中的第二項是輸出本行上的符號串”*****”。這項工作比較簡單,用一條輸出語句“printf(“*****\n”);”即可。
依據上述分析,可以很容易寫出程序清單。
【參考答案】 main()
{ int i,j;
for(i=1;i<=4;i++)
{ for(j=1;j<=i-1;j++)
printf("");
printf(”*****\n”);
}
}
相關推薦:計算機軟考程序員備考:程序設計知識點匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |