当前位置:文档之家› 2019二级C语言题库参考答案解析

2019二级C语言题库参考答案解析

2019年C语言考题答案1、程序填空题给定的程序的功能是调用fun 函数建立班级通讯录。

通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat 的二进制中。

填空:( 1) STYPE(2)FILE(3)fp改错:(1) for(i=0;i<=sl;i++)(2)t[2*sl]= 0“ 或t[sl+sl]= 0“ 编程:*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b% 10);2、程序填空题给定程序的功能是:从键盘输入若干文本 (每行不超过80 个字符),写到文件myfile4.txt 中,用-1 作为字符串输出输入的标志。

然后将文件的内容读出显示在屏幕上。

文件的读写分别由自定义函数ReadText和Writetext 实现。

填空:(1)*fw(2)str (3) str改错:(1)voidfun(longs,long*t)(2)s1=s1*10;编程:int i,j=0,min=a[0].s;for(i=0;i<N;i++){if(a[i].s<min){j=0;b[j++]=a[i];min=a[i].s;}else if(min==a[i].s)b[j++]=a[i];}return j;3、程序填空题给定程序中,函数fun 的功能是:讲自然数1~10 以及它们的平方根写到名为myfile3.txt 的文本中,然后再按顺序读出显示在屏幕上。

填空:( 1) fp( 2)fclose(fp)(3)myfile3.txt 改错:( 1)for(i=j+1;i<n;i++) (2) p=i;编程:*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;4、程序填空题给定程序中,函数fun 的功能是:找出形参s 所指字符串出现频率最高的字母(不区分大小写),并统计出其出现的次数,例如,形参s 所指的字符串为:abcAbsmaxiess程序执行后的输出结果为:letter “ a“ :3 timesletter “ s“ :3 times填空:( 1)“r(“2)fs(3)ft 改错:( 1)if (d%2==0)( 2) s/=10;编程:int i = 0, j = 0;while(s[i]){if(i % 2 == 0 && s[i] % 2 == 0)t[j++] = s[i];i++;}t[j] = 0;5、程序填空题给定程序中已经建立一个带有头结点的单向链表,链表中的各结点数据域中的数据递增有序链接,函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。

填空:(1)x(2)p(3)s改错:(1)long k=1;(2)num/=10编程:int i;float aver=0.0;for(i=0;i<n;i++)aver+=a[i]; aver=aver/n;return aver;6、程序填空题给定程序中已建立一个带有头结点的单向链表,在main 函数中将多次调用fun 函数,每调用一次fun 函数,输出链表尾部节点中的数据,并释放该节点,使链表缩短。

填空:(1)next(2) t->data(3) t改错:(1) void fun(char *a)⑵print( “%结点的单向链表中,查找数据域中值为ch 的结点。

找到后通过函数值返回该结点在链表所处的顺序号;如不存在值为ch 的结点,函数返回0 值。

编程:int i;char *p=s,*q=t;int n=0,m=0;while(*p)/*计算串s的长度n,其中p为临时指针*/ { n++;p++;}while(*q)/*计算串t的长度m,其中q为临时指针*/{m++;q++;}if(n>=m) /*比较m 和n 的值,设置p 指向较大的指针*/p=s;elsep=t;return p;7、程序填空题给定程序中建立一个带有头结点的单向链表,链表中的各节点按数据域递增有序链接。

函数fun 的功能是:删除链表中数据域值相同的节点,使之只保留一个。

填空:(1) q(2) next(3) next改错:(1)缺分号(2) p = i;编程:*n=0; int i;for(i=1;i<=m;i++)if(i%7==0||i%11==0)a[*n++]=i;8、程序填空题给定的程序中,函数fun的功能是:在带有头填空:(1) 0或NULL(2) n(3)head,ch改错:(1) for(i=0,t=0;p[i];i++)(2) c[t]= 0“编;程“:int i ;for(i=1;i<strlen(ss);i+=2){If( (ss[i]>= “ a “ &&ss[i]<=32;9、程序填空题给定程序中,函数fun 的功能是:统计出带有头结点的单向链表中节点的个数,存放在形参n 所指的存储单元中。

填空:(1) *n(2) next(3) head 改错:(1) a=NULL;(2) if(*r==*p编程:int i,j=0;for(i=0;i<strlen(s);i+=2)if(s[i]%2==0) t[j++]=s[i];t[j]= 0“;10、程序填空题给定程序中,函数fun的功能是:计算出带有头结点的单向链表中各节点数据域中值之和作为函数值返回。

填空:(1)data(2) next(3) head改错:(1) while(*r)⑵ *a=*r;a++丁++;编程:int i,j=0;for((i=0;i<strlen(s);i+=2)t[j++]=s[i];t[j]= 0“;11、程序填空题给定程序中,函数fun 的功能是:求ss 所指字符串数组中长度最短的字符串所在的行下标,作为函数数值返回,并把其串长放在形参n 所指变量中。

Ss 所指字符串数组中共有M 个字符串,且串长<N.改错:(1)if(( “a“<=tt[i])&&(tt[i]<= “z“))(2)y+=1.0/(i*i);编程题:int c[3][3];(2)tt[i]-=32 填空:(1)M(2)<(3)k; 编程:int i,j;int t=0;for(i=2;i<m;i++){j=2;while(j<i){if(i%j==0){xx[t]=i;t++;break;}j++;}*k=t;12、程序填空题给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。

例如:形参s所指的字符串为:def35adh3kjsdf7。

执行结果为:defadhkjsdf3537填空:(1) j++(2) s[i]=t1[i](3) j改错:(1) for(j = i + 1; j < 6; j++)(2)*(pstr + i) =*( pstr + j);编程:int cnt=0;char *p=ss;while(*p){if(*p==c)cnt++;p++;}return cnt;13. 程序填空题给定程序中,函数fun 的功能是:在形参s 所指字符串中的每个数字字符之后插入一个*号。

例如,形参s 所指的字符串为:def35adh3kjsdf7.执行结果为:def3*5adh3*kjsdf7* 。

填( 1) &&(2)0(3)s[j]空:改错( 1)for(i=2;i<=m;i++)for(i=0,i<3;i++)for(j=0;j<3;j++){c[i][j]=a[j][i];b[i][j]=a[i][j]+c[i][j];}14、程序填空题给定的程序中,函数fun 的功能是:统计形参s 所指字符串中数字字符出现的次数,并存放在形参t 所指的变量中,最后在主函数中输出,例如,形参s所指的字符串为abcdef35adgh3kjsdf7。

输出结果为:4。

填(1) s[i] (2) “9 “(3t=n;改错:(1) t=*x;*x=y;(2) return (t);编程:空:int i ;*n=0;for(i=7;i<1000;i++)if (((i%7)==0)||((i%11)==0)&&((i%77)!=0)a[(*n)++]=i;15、程序填空题给定的程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数的位置,最右边被移出的字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)例如:形参s所指字符串为:abcdefgh,执行结果为:ahcbedgf填空:(1) 1(2) s[k](3) c改错:(1) long s = 0,t = 0;(2) t = t / 10编; 程:char *p=tt;int i;for(i=0;i<26;i++)pp[i]=0;while(*p){if(*p>= “a“ &&p<= “z“)pp[*p- “ a“ ]+=1;p++;}16、程序填空题在给定程序中,函数fun的功能是:对形参s所指字符串下标喂奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p 所指字符数组中形成一个新串。

例如,形参s 所指的字符串为baawrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlsw。

填空:(1) t=i(2) i(3) 0改错:(1) while(fabs(t)>=num) (2) t=s/n;编程:i nt p,m=0;for(p=0;p<LEN;p++)if(p!=n){b[m]=a[p];m++;}b[m]= “0“;17、程序填空题给定程序中,函数fun 的功能是:在形参s 所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。

例如:s所指字符字符串为:baacda, c中得字符为:a,执行后所指字符串为:baaaacdaa填空:(1) 0或“0“(2) 0(3) c改错:(1) double sum=0.0; (2) sum/=c;编程:i nt k;float str=1.0,sum=1.0;for(k=2;k<=n;k++){sum=sum+k;str=str+1/sum;}return str;18、程序填空题给定程序中,函数fun的功能是:NXN矩阵,根据给定的m (m<二N)值,将每行元素中的值均右移m个位置,左边值为0•例如,N=3, m=2,有下列矩阵456789程序执行结果为001004007填空:(1)i++(2) m(3)m 改错:(1)while((high>=2)&&(n<10))(2)缺分号编程:float x1=0.0,x0;dox0=x1;x1=cos(x0);}while(fabs(x0-x1)>0.000001);return x1;19、程序填空题给定程序中,函数fun 的功能是:将N*N 矩阵中元素的值按列右移置,1 个位右边被移出矩阵的元素绕回左边。

相关主题