为了帮助大家复习好计算机等级考试,本次我们考吧网特为广大考生整理了计算机等级考试模拟试题,希望广大考生能够喜欢。本次主要汇编了2014年上半年计算机等级二级C语言上机精选模拟试题:
编辑推荐:2014年上半年计算机等级二级C语言上机精选模拟试题汇总十
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp)。
注意: 部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入
你编写的若干语句。
给定源程序:
#include
#include
#define N 16
typedef struct
{ char num[10];
int s;
} STREC;
STREC fun( STREC *a, char *b )
{
}
main()
{ STREC s[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},
{"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87},
{"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},
{"GA011",77},{"GA017",64},{"GA018",64},{"GA016",72}};
STREC h;
char m[10];
int i;FILE *out ;
printf("The original data:");
for(i=0; i { if(i%4==0) printf("");
printf("%s = ",s[i].num,s[i].s);
}
printf("Enter the number: ");gets(m);
h=fun( s,m );
printf("The data : ");
printf("%s M",h.num,h.s);
printf("");
out = fopen("c:\\test\\out.dat","w") ;
h=fun(s,"GA013");
fprintf(out,"%s M",h.num,h.s);
fclose(out);
}
解题思路:
本题是从学生记录体中找出给定的学号。具体操作请看答案程序中的说明。
参考答案:
STREC fun( STREC *a, char *b )
{
STREC c ;
int i ;
c.num[0] = ’\0’ ;
c.s = -1 ;
for(i = 0 ; i < N ; i++)
if(strcmp(a[i].num, b)==0) {
strcpy(c.num, a[i].num) ;
c.s=a[i].s;
break ;
}
return c ;
}