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