《历年国家计算机二级C语言上机国二真题整理100套.doc》由会员分享,可在线阅读,更多相关《历年国家计算机二级C语言上机国二真题整理100套.doc(68页珍藏版)》请在金锄头文库上搜索。
1、第一套程序填空 给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。如输入一个数:27638496,新的数为729第一空: t=*n%10; 第二空:if(t%2!=0)第三空:*n=x;2.程序修改给定程序modi1.c中函数fun的功能是:计算n!。例如,给n输入5,则输出120.000000。double fun(int n ) double result=1.0;/*found*/if(n=0)return 1.0;while(n1&n=0&si=9)/*found*/sj+=si;/*
2、found*/sj=0;3.程序设计题请编写函数fun,函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。void fun(char sN,char *b)int i,j,n=0;for(i=0;iN;i+)/*请填写其相应语句完成其功能*/ for(j=0;jnext=null;for(i=1;idata=rand()%m;s-next=p-next;p-next=s;p=p-next;/*found*/return h;3. 程序设计 请编写函数fun,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组
3、成,单词之间由若干个空格格开,一行的开始没有空格。int fun(char *s)int k=1;while(*s) if(*s=)k+;s+; return k;第四套1. 程序填空 程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。第1处fp = fopen(filename, rb);第2处if (si.sno sj.sno)第3处 fwrite(s,si
4、zeof(STU),N,fp);2. 程序修改 给定程序MODI1.C中函数fun的功能是:在字符串的最前端加入n个*号,形成新串,差且覆盖原串。注意:字符串的长度最长允许为79.void fun(char s ,int n)char a80,*p;int i;/*found*/p=s;for(i=0;in;i+)ai=*;doai=*p;i+;/*found*/while(*p+)ai=0;strcpy(s,a);3. 程序设计 请编写函数fun,函数的功能是:统计各年龄段的人数,N个年龄能过调用随机函数获得,并放在主函数的age 数组中:要求函数把0至9岁的年龄段的人数放在d0中,把10至
5、19岁的年龄段的人数放在d1中,把20至29岁的年龄段的人数放在d2中,其余依次类推,把100岁(含100岁)以上年龄的人数都放在d10中。结果在主函数中输出。void fun(int *a, int *b)int i,j;for(i=0;iM;i+)bi=0;for(i=0;i10)bM-1+;else bj+;第五套1. 程序填空 给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文件文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串换成相应的整数和浮点数,然后将其显示在屏幕上。第1处: FILE *fp;第2处:fclose(fp);第3
6、处:fscanf(fp,”%s%s%s”,str,str1,str2);2.程序修改给定程序MODI1.C中函数fun的功能是:对N名学生的学生成绩,按从高到低的顺序找出前m(m10) 名学生来,将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。STU *fun(STU a ,int m) STU bN,*t;int i,j,k; /*found*/t=(STU *)calloc(sizeof(STU),m);for(i=0;iN;i+)bi=ai;for(k=0;km;k+) for(i=j=0;ibj.s)j=i;/*found*/tk=bj;bj.s=0;r
7、eturn t; 3. 程序设计请编写函数fun,函数的功能是,删去一维数组中所有相同的数,使之只剩一个。数组中的数已按从小到大的顺序排序,函数返回删除后数组中数据的个数。int fun(int a ,int n)int i,j=1,k=a0;for(i=1;in;i+) if(k!=ai)aj+=ai;k=ai;aj=0;return j;第六套1. 程序填空 给定程序中,函数fun的功能是根据形参i的值返回某个函数年值。当调用正确时,程序输出:x1=5.000000x2=3.000000.x1*x1+x1*x2=40.000000第一处:double fun(int i,double x,
8、double y)第二处:return f1(x);第三处:return f2(x,y);2.程序修改给定程序MODI1.C中函数fun的功能是:比较两个字符串,将长的那个字符串的首地址作为函数值返回。#include /*found*/char *fun(char *s,char *t)int sl=0,tl=0;char *ss,*tt;ss=s; tt=t;while(*ss) sl+;/*found*/ss+;while(*tt) tl+;/*found*/tt+;if(tlsl) return t;else return s;3. 程序设计请编写函数fun,函数的功能是:移动字符串中
9、的内容,移动的规则如下:把第1到第m个字符,平均移到字符串的最后,把第m+1个到最后的;字符移到字符串的前部。void fun(char *w, int m )int i;for(i=0;im;i+)fun1(w);第七套1. 程序填空 程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息,函数fun的功能是输出这位学生的信息。第1处 void show( STU tt)第2处 printf(“%5.1f”,tt.scorei);第2处 show(std)2.程序修改给定程序MODI1中函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a0中的数对调、次最大数和a1中的数对调。int fun(int *a,int n) int i,m,t,k;for(i=0;i2;i+)/*found*/m=i;for(k=i+1;kam)m=k;t=ai;ai=am;am=t;3.程序设计请编写一个unsigned fun(unsigned w),w是一个大于10的无符号整数,若w是n(n=2)位的整数,函数求出w的后n-1位的数作为函数值返回。例如