改错填空副本.docx
- 文档编号:4336882
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:30
- 大小:26.38KB
改错填空副本.docx
《改错填空副本.docx》由会员分享,可在线阅读,更多相关《改错填空副本.docx(30页珍藏版)》请在冰豆网上搜索。
改错填空副本
第1套
函数fun的功能是:
计算如下公式......
并且把计算结果作为函数值返回。
【参考答案】
(1)3.0或(double)3
(2)>(3)(t+1)
【参考答案】
(1)doublefun(intn)
(2)s=s+(double)a/b;
第2套
计算如下公式前n项的和并作为函数值返回。
例如,当形参n的值为10时,函数返回值为9.612558。
【参考答案】
(1)0
(2)n(3)(t*t)
【参考答案】
(1)for(i=0;str[i];i++)
(2)if(substr[k+1]=='\0')
第3套
统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。
【参考答案】
(1)s[i]
(2)'9'(3)*t=n
【参考答案】
(1)t=*x;*x=y;
(2)return(t);或returnt;
第4套
把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把偶数从数组中删除,奇数个数通过函数值返回。
【参考答案】
(1)1
(2)j++(3)j
【参考答案】
(1)t=a;a=b;b=t;
(2)return(b);或returnb;
第5套
将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。
【参考答案】
(1)0
(2)10*x(3)n/10
【参考答案】
(1)*t=0;
(2)if(d%2!
=0)或if(d%2==1)
第6套
把形参a所指数组中的最小值放在元素a[0]中,接着把a所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],以此类推。
【参考答案】
(1)a[i]
(2)a[j](3)a[j]
【参考答案】
(1)去掉分号
(2)case1:
case2:
return1;
第7套
进行数字字符转换。
若形参ch中是数字字符'0'~'9',则将'0'转换成'9','1'转换成'8','2'转换成'7',……,'9'转换成'0';若是其它字符则保持不变;并将转换后的结果作为函数值返回。
【参考答案】
(1)char
(2)ch<='9'(3)'0'
【参考答案】
(1)b[k]=*p;
(2)b[k]='';k++;
第8套
求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。
ss所指字符串数组中共有M个字符串,且串长小于N。
【参考答案】
(1)M
(2)<(3)k
【参考答案】
(1)if((tt[i]>='a')&&(tt[i]<='z'))
(2)tt[i]-=32;
第9套
将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。
【参考答案】
(1)j++或j+=1或++j或j=j+1
(2)s[i]=t1[i](3)j
【参考答案】
(1)for(j=i+1;j<6;j++)
(2)*(pstr+i)=*(pstr+j);
第10套
把形参x的值放入一个新结点并插入链表中使插入后结点数据域中的数据仍保持递增有序。
【参考答案】
(1)x
(2)p(3)s
【参考答案】
(1)longk=1;
(2)num/=10;
第11套
将形参a所指数组中的前半部分元素中的值与后半部分元素中的值对换。
形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。
【参考答案】
(1)1
(2)i(3)a[p+i]或*(a+p+i)
【参考答案】
(1)floatk;
(2)if(*a<*c)
第12套
从形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回剩余字符串的个数。
ss所指字符串数组中共有N个字符串,且串长小于M。
【参考答案】
(1)N
(2)k(3)ss[i]
【参考答案】
(1)intk=0;
(2)while(*p||*q)
第13套
把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动
【参考答案】
(1)1
(2)s[k]或*(s+k)(3)c
【参考答案】
(1)longs=0,t=0;
(2)t=t/10;
第14套
在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回-1。
ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。
【参考答案】
(1)N
(2)i(3)-1
【参考答案】
(1)a2=k/10;
(2)returni;
第15套
下列给定程序中已建立了一个带头结点的单向链表,在main函数中将多次调用fun函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。
【参考答案】
(1)next
(2)t->data(3)t
【参考答案】
(1)voidfun(char*a)
(2)printf("%c",*a);
第16套
逆置数组元素中的值。
例如:
若a所指数组中的数据为:
1、2、3、4、5、6、7、8、9,则逆置后依次为:
9、8、7、6、5、4、3、2、1。
形参n给出数组中数据的个数。
【参考答案】
(1)n/2
(2)i(3)a[n-i-1]或a[n-1-i]
【参考答案】
(1)n=*p-'0';
(2)n=n*8+*p-'0';
第17套
调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。
在复制的过程中,把复制的内容输出到屏幕。
主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。
【参考答案】
(1)"r"
(2)fs(3)ft
【参考答案】
(1)if(d%2==0)
(2)s/=10;
第18套
有N×N矩阵,根据给定的m(m<=N)值,将每行元素中的值均向右移动m个位置,左位置为0。
【参考答案】
(1)i++
(2)m(3)m
【参考答案】
(1)while((high>=2)&&(n<10))
(2)yes=0;break;
第19套
将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。
【参考答案】
(1)a
(2)b.name(3)score[i]
【参考答案】
(1)s[j++]=s[i];或{s[j]=s[i];j++;}
(2)s[j]='\0';
第20套
从键盘输入若干行字符串(每行不超过80个字符),写入文件myfile4.txt中,用-1作字符串输入结束的标志,然后将文件的内容显示在屏幕上。
文件的读写分别由函数ReadText和WriteText实现。
【参考答案】
(1)*fw
(2)str(3)str
【参考答案】
(1)voidfun(longs,long*t)
(2)sl=sl*10;
第21套
有N×N矩阵,将矩阵的外围元素做顺时针旋转。
操作顺序是:
首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,再使临时数组中的元素成为最后一列。
【参考答案】
(1)0
(2)j--(3)j
【参考答案】
(1)doublef(doublex)
(2)returns;
第22套
在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串,并输出,若没找到则输出相应信息。
ss所指字符串数组中共有N个字符串,且串长小于M。
程序中库函数strstr(s1,s2)的功能是在s1串中查找s2子串,若没有,函数值为0,若有,函数值为非0。
【参考答案】
(1)N
(2)substr(3)0
【参考答案】
(1)fun(intx,inty,intz)或intfun(intx,inty,intz)
(2)returnj;
第23套
计算一个带头结点的单向链表中各结点的数据域中数值之和,结果作为函数值返回。
【参考答案】
(1)data
(2)next(3)head
【参考答案】
(1)while(*r)
(2)*a=*r;a++;r++;
第24套
将形参a所指结构体变量s中的数据进行修改,并把a的地址作为函数值返回主函数,从主函数中输出修改的数据。
【参考答案】
(1)structstudent*
(2)a->score[i](3)a
【参考答案】
(1)char*fun(char(*sq)[M])
(2)returnsp;
第25套
将N×N矩阵主对角线元素的值与反向对角线对应位置上元素的值进行交换。
【参考答案】
(1)t[][N]
(2)i=0;i 【参考答案】 (1)intfun(inta[],intm)或fun(inta[],intm) (2)elseif(m>a[mid]) 【参考答案】 第26套 找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为正整数)的整数,并输出;符合条件的整数个数作为函数值返回。 【参考答案】 (1)999 (2)t/10(3)x 【参考答案】 (1)voidfun(longs,long*t) (2)while(s>0) 第27套 对形参b所指结构体变量中的数据进行修改,并在主函数中输出修改后的数据。 【参考答案】 (1)->sno (2)->name(3)&t 【参考答案】 (1)doublefun(doublea,doublex0) (2)if(fabs(x1-x0)>=0.00001) 第28套 删除链表中数据域值相同的结点,使之只保留一个。 【参考答案】 (1)q (2)next(3)next 【参考答案】 (1)p=j; (2)p=i; 第29套 有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。 【参考答案】 (1)[N] (2)t[i][j](3)t[j][i] 【参考答案】 (1)#defineFU(m,n)(m)/(n) (2)return(value); 第30套 从文件中找出指定学号的学生数据,读入此学生数据,对该学生的分数进行修改,使每门课的分数加3分,修改后重写文件中学生的数据,即用该学生的新数据覆盖原数据,其它学生数据指定不变;若找不到,则不做任何操作。 【参考答案】 (1)fp (2)==(3)fp 【参考答案】 (1)n=strlen(aa); (2)ch=aa[i]; 第31套 计算下式前n项的和,并作为函数值返回。 例如,当形参n的值为10时,函数返回: -0.204491。 【参考答案】 (1)1 (2)2*i(3)(-1) 【参考答案】 (1)k++; (2)if(m==k) 第32套 计算下式,并将计算结果作为函数值返回。 例如,若形参e的值为1e-3,函数的返回值为2.985678。 【参考答案】 (1)0 (2)i++或++i或i+=1或i=i+1(3)2.0*i 【参考答案】 (1)voidfun(char*s,char*t) (2)t[2*d]='\0';或t[d+i]='\0';或t[2*d]=0;或t[d+i]=0; 第33套 在形参s所指字符串中的每个数字字符之后插入一个*号。 例如,形参s所指的字符串为"def35adh3kjsdf7",执行后结果为"def3*5*adh3*kjsdf7*" 【参考答案】 (1)&& (2)0或'\0'(3)s[j]或*(s+j) 【参考答案】 (1)for(i=2;i<=m;i++) (2)y+=1.0/(i*i);或y+=(double)1.0/(i*i) 第34套 将不带头结点的单向链表逆置,即若原链表中从头至尾结点数据域依次为2,4,6,8,10,逆置后,从头至尾结点数据域依次为10,8,6,4,2。 【参考答案】 (1)NODE (2)next(3)r 【参考答案】 (1)if(i%2||s[i]%2==0)或if(i%2! =0||s[i]%2==0) (2)t[j]='\0';或t[j]=0; 第35套 将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。 【参考答案】 (1)structstudent (2)a.name (3)a.score[i] 【参考答案】 (1)if(p==n)return-1; (2)a[i]=a[i+1]; 第36套 将带头结点的单向链表逆置,即若原链表中从头至尾结点数据域依次为2,4,6,8,10,逆置后,从头至尾结点数据域依次为10,8,6,4,2。 【参考答案】 (1)next (2)NULL(3)r 【参考答案】 (1)r=t; (2)应填: r=t;或r=&t[0]; 第37套 将形参s所指字符串中下标为奇数的字符取出,并按ASCII码大小递增排序,将排序后的字符存入形参p所指字符数组中,形成一个新串。 【参考答案】 (1)t=i (2)i(3)'\0'或0 【参考答案】 (1)while(fabs(t)>=num) (2)t=s/n; 第38套 将不带头结点的单向链表结点数据域中的数据从小到大排序。 即若原链表结点数据域从头至尾的数据为10,4,2,8,6,排序后链表结点数据域从头至尾的数据为2,4,6,8,10。 【参考答案】 (1)p->next (2)q(3)p->next 【参考答案】 (1)while(*s)或while(*s! ='\0') (2)s++; 第39套 将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。 【参考答案】 (1)FILE* (2)fp(3)ch 【参考答案】 (1)s[j++]=s[i]; (2)s[j]='\0'; 第40套 在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。 【参考答案】 (1)'\0' (2)0(3)c 【参考答案】 (1)doublesum=0.0; (2)sum/=c; 第41套 将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后将新字符串的首地址作为函数值返回。 【参考答案】 (1)s[i] (2)k(3)'\0'或0 【参考答案】 (1)while(*w) (2)if(*r==*p) 第42套 将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数浮点数然后将其显示在屏幕上。 【参考答案】 (1)FILE* (2)fclose(fp)(3)fp 【参考答案】 (1)t=calloc(m,sizeof(STU)); (2)t[k]=b[j]; 第43套 计算N×N矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。 要求先累加主对角线元素中的值,再累加反向对角线元素中的值。 【参考答案】 (1)sum=0 (2)t[i][i](3)1 【参考答案】 (1)doubler; (2)while(fabs(n-m)>0.001) 第44套 找出100到x(x≤999)之间各位上的数字之和为15的所有整数,并在屏幕输出;将符合条件的整数的个数作为函数值返回。 【参考答案】 (1)0 (2)x(3)t++ 【参考答案】 (1)inti,sl; (2)t[i]=s[sl-i-1]; 第45套 在形参ss所指字符串数组中,将所有串长超过k的字符串中后面的字符删除,只保留前面的k个字符。 ss所指字符串数组中共有N个字符串,且串长小于M。 【参考答案】 (1)[M] (2)N(3)'\0' 【参考答案】 (1)t=1.0; (2)return(s*2); 第46套 将自然数1~10及其平方根写到名为myfile3.的文本文件中,然后再顺序读出显示在屏幕上。 【参考答案】 (1)fp (2)fclose(fp)(3)fname 【参考答案】 (1)for(i=j+1;i (2)p=i; 第47套 将形参n所指变量中,各位上为偶数的数去掉,剩余的数按原来从高位到低位的顺序组成一个新数,并通过形参指针n传回所指变量。 【参考答案】 (1)10 (2)0(3)x 【参考答案】 (1)if(n==0) (2)result*=n--;或{result*=n;n--;} 第48套 将N×N矩阵中元素的值按列向右移动1个位置,右边被移出矩阵的元素绕回左边第1列。 【参考答案】 (1)N (2)N-1(3)0 【参考答案】 (1)s=s+(double)(n+1)/n; (2)returnt; 第49套 把形参a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在a[1]中,再把a所指数组元素中的次大值放在a[2]中,把a数组元素中的次小值放在a[3]中,以此类推。 例如,若a所指数组中的数据最初排列为: 1、4、2、3、9、6、5、8、7,按规则移动后,数据排列为: 9、1、8、2、7、3、6、4、5。 形参n中存放a所指数组中数据的个数。 【参考答案】 (1)a[] (2)2(3)i+1 【参考答案】 (1)sum=0.0; (2)if((i+1)%5==0) 第50套 在带头结点的单向链表中,查找数据域中值为ch的结点。 找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值。 【参考答案】 (1)NULL (2)n(3)head,ch 【参考答案】 (1)for(i=0,t=0;p[i];i++) (2)c[t]='\0'; 第51套 将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新数,作为函数值返回。 【参考答案】 (1)1 (2)s>0(3)i*10 【参考答案】 (1)intfun(intn,intxx[][M]) (2)printf("%d",xx[i][j]); 第52套 把形参a所指数组中的偶数按原顺序依次存放到a[0]、a[1]、a[2]…中,把奇数从数组中删除,偶数的个数通过函数值返回。 【参考答案】 (1)a[i]%2 (2)a[j](3)j 【参考答案】 (1)intfun(intn) (2)if(n==1) 第53套 统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中。 【参考答案】 (1)*n (2)next(3)head 【参考答案】 (1)a=NULL; (2)if(*r==*p) 第54套 调用fun函数建立班级通讯录。 通讯录中记录每位学生的编号、姓名和电话号码。 班级人数和学生信息从键盘读入每个人的信息作为一个数据块写到名为myfile5的二进制文件中。 【参考答案】 (1)STYPE (2)FILE(3)fp 【参考答案】 (1)for(i=0;i (2)t[2*s1]='\0' 第55套 将存放学生数据的结构体数组,按姓名的字典序(从小到大)排序。 【参考答案】 (1)structstudent (2)n-1 (3)a[i].name,a[j].name 【参考答案】 (1)q=p+i; (2)while(q>p) 第56套 找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。 【参考答案】 (1)STU (2)std[i].num(3)std[i] 【参考答案】 (1)if(*r==*p){r++;p++;} (2)if(*r=='\0') 第57套 找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。 【参考答案】 (1)std[i].year (2)std[i](3)n 【参考答案】 (1)IsPrime(intn) (2)if(! (n%i)) 第58套 将该学生的各科成绩都乘以一个系数a。 【参考答案】 (1)STU (2)score[i](3)&std 【参考答案】 if(k>1) 第59套 将形参指针所指结构体数组中的三个元素按num成员进行升序排列。 【参考答案】 (1)std[] (2)PERSON(3)std 【参考答案】 (1)intk,q,i; (2)pt[i]=str[k][i]; 第60套 将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。 【参考答案】 (1)std[0] (2)std[i].age(3)max.name 【参考答案】 (1)voidfun(int*a,int*b) (2)t=*b;*b=*a;*a=t; 第61套 输出这位学生的信息。 【参考答案】 (1)tt (2)tt.score[i](3)std 【参考答案】 (1)voidfun(int*a,intn) (2)m=i; 第62套 对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。 ss所指字符串数组中共有M个字符串,且串长小于N。 【参考答案】 (1)i+1 (2)k=j(3)t 【参考答案】 (1)voidfun(char*str,charch) (2)if(*str! =ch) (3)str[1]=0; 第63套 求出形参ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。 字符串数组中共有M个字符串,且串长小于N。 【参考答案】 (1)k (2)len(3)ss[i][j] 【参考答案】 (1)result*=n--; (2)returnresult; 第64套 求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。 ss所指字符串数组中共有M个字符串,且串长小于N。 【参考答案】 (1)ss[i] (2)n+j(3)1 【参考答案】 (1)if(*p=='') (2)*(p-1)=toupper(*(p-1)); 第65套 求ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。 ss所指字符串数组中共有M个字符串,且串长 【参考答案】 (1)[N] (2)len(3)*n=len
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 改错填空 副本 改错 填空