1、国家二级( C语言)机试模拟试卷 360及答案与解析 一、程序填空题( 30分) 1 函数 fun的功能是:逆置数组元素中的值。例如:若 a所指数组中的数据依次为: 1、 2、 3、 4、 5、 6、 7、 8、 9,则逆置后依次为: 9、 8、 7、 6、 5、 4、 3、 2、1。形参 n给出数组中数据的个数。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKl C中。 不得增行或删行,也不得更改程序的结构 ! #include void fun(int a, int n) int i, t; *found* for(i=
2、0; i #include typedef struct aa int data; struct aa *next; NODE; NODE *Creatlink(int n, int m) NODE *h=NULL, *p, *s; int i; /*found*/ p=(NODE )malloc(sizeof(NODE); h=p; p-next=NULL; for(i=1; idata=rand()%m; s-next=p-next; p-next=s; p=p-next; /*found*/ return p; outlink(NODE *h) NODE *p; p=h-next; pr
3、intf(“nnTHE LIST :nn HEAD “); while(p) printf(“-%d “,p-data); p=p-next; printf(“n“); main() NODE *head; head=Creatlink(8,22); outlink(head); 三、程序设计题( 40分) 3 请编写一个函数 fun,它的功能是:将 ss所指字符串中所有下标为奇数位置上的字母转换为大写 (若该位置上不是字母,则不转换 )。 例如,若输入 ”abc4EFg”,则应输出 ”aBc4EFg”。 注意:部分源程序存在文件 PROGl C中。 请勿改动主函数 main和其他函数中的任何
4、内容,仅在函数 fun的花括号中填入你编写的若干语句。 #include #include void fun (char *ss) main() char tt81 ; void NONO (); printf(“nPlease enter an string within 80 characters:n“); gets(tt); printf(“nnAfter changing, the stringn “%s“, tt); fun(tt); printf(“nbecomesn “%s“n“, tt); NONO (); void NONO () /* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp, *wf ; char tt81 ; int i ; fp = fopen(“in.dat“,“r“); wf = fopen(“out.dat“,“w“); for(i = 0 ; i =a 【试题解析】 ( 1)首先取得字符串中下标为奇数的字符。 ( 2)判断奇数位置的字符是否为小写字母。 ( 3)若( 2)中的判断 结果是小写字母,则对其进行转换。