四、程序填充题(本大题共3小题,每小题6分,共18分)
给出下列程序,将横线处缺少的部分补上,使其能正确运行。
36.对含有10个元素的数组a先按元素的存储次序倒序输入,再按其正序输出。
#define_______/*第一空*/
main()
{int i,a[N];
for(i=N-1; _______;i--)/*第二空*/
scanf(″%d″, _______);/*第三空*/
for(i=0;i<N;i++)printf(″%d\t″,a[i]);
printf(″\n″);
}
37.学生成绩的字母等级和分数范围如下:
字母等级 分数范围
A 90~100
B 80~89
C 70~79
D 60~69
E 0~59
其它字母 输入错误
输入字母等级之后,输出相应的分数范围。
main()
{
_______;/*第一空*/
scanf(″%c″,&score);
switch(score)
{
case′A′:printf(″A:90~100\n″);_________;/*第二空*/
case′B′:printf (″B:80~89\n″);break;
case′C′:printf (″C:70~79\n″);break;
case′D′:printf (″D:60~69\n″);break;
case′E′:printf (″E: 0~59\n″);break;
_______:printf(″输入错误\n″);/*第三空*/
}
}
38.文本文件num.dat中含有若干个整数,将这些数据读出后求出它们的和,再将这些数据与它们的和分别显示到屏幕上。
#include<stdio.h>
main()
{int num;long int sum=0L;
FILE*fp;
fp=fopen(″num.dat″, ″r″);
do
{
fscanf(________,&num);/*第一空*/
sum+=_________;/*第二空*/
printf(″%5d″,num);
}while(_______);/*第三空*/
printf(″\nsum=%ld\n″,sum);
fclose(fp);
}
五、程序设计题(本大题共3小题,第39小题5分,第40、41小题各6分,共17分)
39.输入两个实型数x和y,计算并输出它们的和、差、积和商。
40.输入自变量x的值后,计算并输出y的值。
计算公式:y=
41.用循环结构输出下列数字金字塔(共9行)。
1
121
12321
1234321
……………
12345678987654321