四、程序填充题(本大题共3小题,每小题6分,共18分)
请将下列程序横线处缺少的部分补上,使其能正确运行。
30. 从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。
#define N 10
struct student
{
char name [20];
char sex;
int score;
} stu[N];
void main( )
{
int i;
float aver,sum=0;
for(i=0;i { scanf(“%d,%c%s”,_________);/*第一空*/ sum=sum+_________; /*第二空*/ } aver=___________; /*第三空*/ printf(“aver=%6. 2f\n”,aver); } 31. 从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text. txt中。 #include “stdio.h” void main() { FILE _______; /*第一空*/ char ch; if( (fp=fopen (“text. txt’’,_______) )==NULL) exit(0); /*第二空*/ while( (ch=getchar( ))!=’?’) fpute (ch,_________); /*第三空*/ fclose(fp); } 32. 用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。 递归公式如下: age(n)=
int age(int n) { if (n==1) return (________); /*第一空*/ else return(_________); /*第二空*/ } void main() { printf(‘‘%d\n”,_________); /*第三空*/ } 五、程序设计题(本大题共2小题,每小题8分,共16分) 33. 从键盘输入三个整数a、b和c,按照由小到大的顺序输出。 34. (1)编写一函数,将指针变量pl和p2所指向的整数值交换。 其中:函数头是void swap (int *pl,int *p2) (2)编写一个主程序,从键盘输入两个整数,调用上述函数实现两个数据的交换并 输出。
笨人支招:自学考试冲刺背书四步战略技巧