第一套 程序填空给定程序中,函数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(n 1&&n 170) /*****found******/ result*=n--; return ?result; } 程序设计请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。long ?fun(char ?*p) { int i,len,t; long x=0; len=strlen(p); if(p[0]==’-‘) { t=-1;len--;p++;} else t=1; while(*p) x=x*10-48+(*p++); return x*t; } 第二套1. ???给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。???请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。第1 处 ??FILE * fp;第2 处 while (!feof(fp)) {第3 处 ?putchar(ch); ch = fgetc(fp); ?}2.程序修改给定程序MODI1.C中函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。void fun( char *s ) { int i,j; for(i=0,j=0;s[i]!=’\0’;i++) ??if(s[i] =’0’&&s[i] =’9’) /*****found******/ s[j++]=s[i]; /*****found******/ s[j]=’\0’; } 3.程序设计题请编写函数fun,函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。void fun(char s[][N],char *b) { int i,j,n=0; for(i=0;i N;i++) /*请填写其相应语句完成其功能*/{ ? for(j=0;j M;j++) { b[n]=s[j][i]; n=i*M+j+1; } } b[n]=’\0’; } 第三套程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数 fun的功能是重写形参filename所指的文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。第1处:fp=fopen(filename,”rb+”) 第2处:fseek(fp,-1L*sizeof(STU),SEEK_END); 第3处:fwrite(&n,sizeof(STU),1,fp); 程序修改给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。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;i =n;i++) {s=( NODE *) malloc(sizeof(NODE)); s- data=rand()%m; s- next=p- next; p- next=s; p=p- next; } /*****found******/ return h; } 程序设计请编写函数fun,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格格开,一行的开始没有空格。int fun(char *s) { int k=1; while(*s) { ?if(*s==’’)k++; s++; ?} return k; } 第四套程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。第1处fp = fopen(filename, "rb");第2处if (s[i].sno s[j].sno)第3处 fwrite(s,sizeof(STU),N,fp);程序修改给定程序MODI1.C中函数fun的功能是:在字符串的最前端加入n个*号,形成新串,差且覆盖原串。注意:字符串的长度最长允许为79.void fun(char s[ ],int n) { char a[80],*p; int i; /*****found******/ p=s; for(i=0;i n;i++) a[i]=’*’; do {a[i]=*p; i++; } /*****found******/ while(*p++) a[i]=0; strcpy(s,a); } 程序设计请编写函数fun,函数的功能是:统计各年龄段的人数,N个年龄能过调用随机函数获得,并放在主函数的age 数组中:要求函数把0至9岁的年龄段的人数放在d[0]中,把10至19岁的年龄段的人数放在d[1]中,把20至29岁的年龄段的人数放在d[2]中,其余依次类推,把100岁(含100岁)以上年龄的人数都放在d[10]中。结果在主函数中输出。void fun(int *a, int *b) { int i,j; for(i=0;i M;i++)b[i]=0; for(i=0;i N;i++) { ?j=a[i]/10; if(j 10)b[M-1]++; else b[j]++; } } 第五套程序填空给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文件文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串换成相应的整数和浮点数,然后将其显示在屏幕上。第1处: FILE *fp;第2处:fclose(fp);第3处:fscanf(fp,”%s%s%s”,str,str1,str2);2.程序修改给定程序MODI1.C中函数fun的功能是:对N名
国家计算机二级_C语言上机国二真题.doc
下载此电子书资料需要扣除0点,