您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 新视野历年二级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;编程:inti,j=0,min=a[0].s;for(i=0;iN;i++){if(a[i].smin){j=0;b[j++]=a[i];min=a[i].s;}elseif(min==a[i].s)b[j++]=a[i];}returnj;3、程序填空题给定程序中,函数fun的功能是:讲自然数1~10以及它们的平方根写到名为myfile3.txt的文本中,然后再按顺序读出显示在屏幕上。填空:(1)fp(2)fclose(fp)(3)myfile3.txt改错:(1)for(i=j+1;in;i++)(2)p=i;编程:*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;4、程序填空题给定程序中,函数fun的功能是:找出形参s所指字符串出现频率最高的字母(不区分大小写),并统计出其出现的次数,例如,形参s所指的字符串为:abcAbsmaxiess,程序执行后的输出结果为:letter'a':3timesletter's':3times填空:(1)r(2)fs(3)ft改错:(1)if(d%2==0)(2)s/=10;编程:inti=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)longk=1;(2)num/=10;编程:inti;floataver=0.0;for(i=0;in;i++)aver+=a[i];aver=aver/n;returnaver;6、程序填空题给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部节点中的数据,并释放该节点,使链表缩短。填空:(1)next(2)t-data(3)t改错:(1)voidfun(char*a)(2)print(%c,*a);编程:inti;char*p=s,*q=t;intn=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;returnp;7、程序填空题给定程序中建立一个带有头结点的单向链表,链表中的各节点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的节点,使之只保留一个。填空:(1)q(2)next(3)next改错:(1)缺分号(2)p=i;编程:*n=0;inti;for(i=1;i=m;i++)if(i%7==0||i%11==0)a[*n++]=i;8、程序填空题给定的程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表所处的顺序号;如不存在值为ch的结点,函数返回0值。填空:(1)0或NULL(2)n(3)head,ch改错:(1)for(i=0,t=0;p[i];i++)(2)c[t]='\0';编程:inti;for(i=1;istrlen(ss);i+=2){If((ss[i]='a'&&ss[i]='z')ss[i]-=32;9、程序填空题给定程序中,函数fun的功能是:统计出带有头结点的单向链表中节点的个数,存放在形参n所指的存储单元中。填空:(1)*n(2)next(3)head改错:(1)a=NULL;(2)if(*r==*p)编程:inti,j=0;for(i=0;istrlen(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)(2)*a=*r;a++;r++;编程:inti,j=0;for((i=0;istrlen(s);i+=2)t[j++]=s[i];t[j]='\0';11、程序填空题给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数数值返回,并把其串长放在形参n所指变量中。Ss所指字符串数组中共有M个字符串,且串长N.填空:(1)M(2)(3)k改错:(1)if(('a'=tt[i])&&(tt[i]='z'))(2)tt[i]-=32;编程:inti,j;intt=0;for(i=2;im;i++){j=2;while(ji){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;j6;j++)(2)*(pstr+i)=*(pstr+j);编程:intcnt=0;char*p=ss;while(*p){if(*p==c)cnt++;p++;}returncnt;13.程序填空题给定程序中,函数fun的功能是:在形参s所指字符串中的每个数字字符之后插入一个*号。例如,形参s所指的字符串为:def35adh3kjsdf7.执行结果为:def3*5adh3*kjsdf7*。填空:(1)&&(2)0(3)s[j]改错(1)for(i=2;i=m;i++)(2)y+=1.0/(i*i);编程题:intc[3][3];for(i=0,i3;i++)for(j=0;j3;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'(3)*t=n;改错:(1)t=*x;*x=y;(2)return(t);编程:inti;*n=0;for(i=7;i1000;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)longs=0,t=0;(2)t=t/10;编程:char*p=tt;inti;for(i=0;i26;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;编程:intp,m=0;for(p=0;pLEN;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)doublesum=0.0;(2)sum/=c;编程:intk;floatstr=1.0,sum=1.0;for(k=2;k=n;k++){sum=sum+k;str=str+1/sum;}returnstr;18、程序填空题给定程序中,函数fun的功能是:N×N矩阵,根据给定的m(m=N)值,将每行元素中的值均右移m个位置,左边值为0.例如,N=3,m=2,有下列矩阵123456789程序执行结果为001004007填空:(1)i++(2)m(3)m改错:(1)while((high=2)&&(n10))(2)缺分号编程:floatx1=0.0,x0;do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)0.000001);returnx1;19、程序填空题给定程序中,函数fun的功能是:将N*N矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。例如,N=3,有下列矩阵123456789计算结果为312645978填空:(1)N(2)N-1(3)0改错:(1)s=s+(n+1.0)/n;(2)returnt;编程:intf0=0,f1=1,f;do{f=f0+f1;f0=f1;f1=f;}while(ft);returnf;20、程序填空题给定程序中,函数fun的功能是:由NxN矩阵,将矩阵的外围元素顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列列。例如:而N=3,有以下矩阵:123456789计算结果为741852963填空:(1)0(2)j--(3)j改错:(1)doublef(doublex)(2)缺分号编程:doubles=0.0;inti;for(i=1;i=m;i++)s=s+log(1.0*i);s=sqrt(s);returns;21、程序填空题给定程序中,函数fun功能是:找出100至x(x想999)之间各位上的数字之和为15的所有整数,然后输出;符合条件的整数个数作为函数值返回。例如,当n值为500时,个各位数字之和为15的整数有159,168,177,186,195,249,258,267,276,285,294,339,348,357,366,375,384,393,429,438,447,456,465,474,483,492,共有26个。填空:(1)0(2)x(3)t++改错:(1)inti,
本文标题:新视野历年二级C语言上机题库参考答案
链接地址:https://www.777doc.com/doc-2394774 .html