计算机二级c语言答案in.docx
- 文档编号:28231581
- 上传时间:2023-07-09
- 格式:DOCX
- 页数:23
- 大小:29.02KB
计算机二级c语言答案in.docx
《计算机二级c语言答案in.docx》由会员分享,可在线阅读,更多相关《计算机二级c语言答案in.docx(23页珍藏版)》请在冰豆网上搜索。
计算机二级c语言答案in
a与b合并成c
填空STYPEFILEfp
改错for(i=0;i<=sl;i++)t[2*sl]='\0';
a十位和个位放在c千位和十位,b十位和个位放在c百位和个位。
4152
*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);
填空1si*10
改错intfun(intn,intxx[][M])
printf("%d",xx[i][j]);
a十位和个位放在c千位和十位,b十位和个位放在c个位和百位。
4251
*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);
填空*fwstrstr
改错voidfun(longs,long*t)sl=sl*10;
a十位和个位放在c个位和百位,b十位和个位放在c千位和十位。
1524
*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);
填空fpfclose(fp)fname
改错for(i=j+1;i a十位和个位放在c个位和百位,b十位和个位放在c十位和千位。 2514 *c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10); 填空"r"fsft 改错if(d%2==0)s/=10; a十位和个位放在c十位和千位,b十位和个位放在c百位和个位。 5142 *c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10); 填空kN-1temp 改错voidfun(int(*a)[M],intm) a[j][k]=(k+1)*(j+1); a十位和个位放在c十位和千位,b十位和个位放在c个位和百位。 5241 *c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10); 填空0xt++ 改错inti,sl;t[i]=s[sl-i-1]; a十位和个位放在c百位和个位,b十位和个位放在c千位和十位。 1425 *c=(b/10)*1000+(a/10)*100+(b%10)*10+(a%10); 填空structstudent*a->score[i]a 改错char*fun(char(*sq)[M])returnsp; a十位和个位放在c百位和个位,b十位和个位放在c十位和千位。 2415 *c=(b%10)*1000+(a/10)*100+(b/10)*10+(a%10); 整除 填空qnextnext 改错p=j;p=i; 1到m之内(含m)能被7或11整除的整数放在数组a中。 inti;*n=0; for(i=7;i<=m;i++)if((i%7==0)||(i%11==0))a[(*n)++]=i; 填空s[i]'9'*t=n 改错t=*x;*x=y;return(t); 1到1000之内能被7或11整除,但不能同时被7和11整除的整数放在数组a中。 inti;*n=0; for(i=7;i<1000;i++) if(((i%7)==0||(i%11)==0)&&(i%77)! =0)a[(*n)++]=i; 填空a[i]a[i]0 改错y=1;d=a-i; n以内(包括n)能被5或9整除的所有自然数的倒数之和。 inti;doublesum=; for(i=1;i<=n;i++) if(i%5==0||i%9==0)sum+=i;returnsum; 填空'0's++sum 改错if((k%13==0)||(k%17==0))} n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s。 doublesum=;inti; for(i=21;i<=n;i++) if((i%3==0)&&(i%7==0))sum+=i;returnsqrt(sum); 字符串 填空nextt->datat 改错fun(char*a)printf("%c",*a); 比较两个字符串长度,返回较长字符串。 inti;char*p=s,*q=t; for(i=0;*p&&*q;i++){p++;q++;} if(*p==0&&*q==0)returns; if(*p)returns; elsereturnt; 填空[N]ii+1 改错aa[i]=m%k;printf("%d",aa[i-1]); 从传入num个字符串中找出最长的一个字符串。 if(strlen(a[i])>maxlen){maxlen=strlen(a[i]);k=i;} 填空i+1k=jt 改错voidfun(char*str,charch) if(*str! =ch)str[1]='\0'; 字符串中内容逆置。 charb[N];inti=0,j;memset(b,0,N); for(j=strlen(s)-1;j>=0;j--)b[i++]=s[j];strcpy(s,b); 填空doublef1f2 改错p=h->next;p=p->next; 判断字符串是否为回文。 inti,j=strlen(str); for(i=0;i if(str[i]! =str[j-i-1])return0; return1; 填空ss[i]n+j1 改错if(*p=='')*(p-1)=toupper(*(p-1)); 对长度为7个字符的字符串,除首,尾字符外,将其余5个字符按ASCII码降序排列。 charch;inti,j; for(i=1;i<6;i++) for(j=i+1;j<6;j++) {if(*(s+i)<*(s+j)){ch=*(s+j);*(s+j)=*(s+i);*(s+i)=ch;}} 带有头结点的单向链表中,查找数据域中值为ch的结点,找到后通过函数值返回结点在链表中所处顺序号。 填空NULLnhead,ch 改错for(i=0,t=0;p[i];i++)c[t]='\0'; 字符串ss中所有下标为奇数位置上字母转换为大写。 char*p=ss;inti=0; while(*p){if((i%2)&&(*p>='a'&&*p<='z'))*p-=32;p++;i++;} returnss; 将a所指4*3矩阵中第k行的元素与第0行的元素交换。 填空kNa[k][i] 改错for(i=strlen(t)-1;i;i--) if(t[j]>t[j+1]) 字符串ss中所有下标为奇数位置上字母转换为大写。 char*p=ss;inti=0; while(*p){if((i%2)&&(*p>='a'&&*p<='z'))*p-=32;p++;i++;} returnss; 填空0||1 改错t-=i;returnt; 删除字符串中所有空格。 char*p=str;inti=0; while(*p){if(*p! ='')str[i++]=*p;p++;}str[i]='\0'; 填空klenss[i][j] 改错result*=n--;returnresult; 从字符串中删除指定字符。 char*p=s;inti=0; while(*p){if(*p! =c)s[i++]=*p;p++;} s[i]='\0'; 填空t=ii'\0' 改错while(fabs(t)>=num)t=s/n; 删除字符串中指定下标的字符。 strncpy(b,a,n);b[n]=0;strcat(b,a+n+1); 填空datanexthead 改错while(*r)*a=*r;a++;r++; s字符串中下标为偶数的字符删除,剩余字符放在t数组中。 inti,j=0; for(i=1;i 填空STUstd[i].numstd[i] 改错r++;p++;if(*r=='\0') s字符串中ASCII值为偶数的字符删除,剩余字符放在t数组中。 inti,j=0; for(i=0;i 填空s[i]k'\0' 改错while(*w)if(*r==*p) s字符串中ASCII值为奇数的字符删除,剩余字符放在t数组中。 inti,j=0; for(i=0;i 填空jkp 改错while(i s字符串中下标为偶数同时ASCII值为奇数的字符删除,剩余字符放在t数组中。 inti,j=0; for(i=0;i if(! ((i%2)==0&&(s[i]%2)))t[j++]=s[i];t[j]='\0'; 填空*nnexthead 改错a=NULL;if(*r==*p) s字符串中除了下标为偶数同时ASCII值也为偶数的字符外,其余的都删除。 inti,j=0; for(i=0;i if(s[i]%2==0)t[j++]=s[i];t[j]='\0'; 填空0i++*i 改错voidfun(char*s,char*t)t[2*d]='\0'; s字符串中除了下标为奇数同时ASCII值也为奇数的字符外,其余的都删除。 inti,j=0; for(i=1;i if(s[i]%2)t[j++]=s[i];t[j]='\0'; 填空j++s[i]=t1[i]j 改错for(j=i+1;j<6;j++)*(pstr+i)=*(pstr+j); ss字符串中指定字符的个数。 intcnt=0;char*p=ss; while(*p){if(*p==c)cnt++;p++;} returncnt; 填空[N]len*n=len 改错t+=i;returnt; 统计一个长度为2的字符串在另一个字符串中出现的次数。 intcnt=0;char*p=str,*q; while(*p) {q=strstr(p,substr); if(q==NULL)break; p=q+strlen(substr);cnt++;} returncnt; 填空1s[k]c 改错longs=0,t=0;t=t/10; 统计字符串中‘a’到‘z’26个字母各自出现次数,放在pp数组中。 char*p=tt;inti; for(i=0;i<26;i++)pp[i]=0; while(*p){if(*p>='a'&&*p<='z')pp[*p-'a']+=1;p++;} 填空filenamefpfp 改错p=(NODE*)malloc(sizeof(NODE)); returnh; 统计一行字符串中单词个数。 intk=1; while(*s){if(*s=='')k++;s++;}returnk; 填空0x*10n/10 改错*t=0;if(d%2! =0) 两个字符串的连接。 char*p=p1; while(*p)p++; while(*p2)*p++=*p2++;*p='\0'; 平均分和结构体 填空xps 改错longk=1;num/=10; 计算n门课程的平均分。 floatave=;inti; for(i=0;i 填空j0i++ 改错for(i=2;i<=m;i++)y-=(i*i); m个人成绩存放在score数组中,将低于平均分人数返回,将低于平均分的分数放在below数组中。 floatav=;inti,j=0; for(i=0;i for(i=0;i if(av>score[i])below[j++]=score[i];returnj; 填空charch<=’9’‘0’ 改错b[k]=*p;b[k++]=’’; N名学生成绩已在一个带头节点的链表中,求平均分。 STREC*p=h->next;doubleav=;intn=0; while(p! =NULL){av=av+p->s;p=p->next;n++;} av/=n;returnav; 填空fp==fp 改错n=strlen(aa);ch=aa[i]; N名学生成绩已放入一个带头节点的链表中,h指向链表头结点,找出学生最高分。 doublemax=h->s;STREC*p;p=h->next; while(p){if(p->s>max)max=p->s;p=p->next;} returnmax; 填空a[i]a[j]a[j] 改错switch(g)case1: case2: return1; 某学生记录由学号,8门课程成绩和平均分组成,求出该学生平均分放在记录的ave成员中。 inti; for(i=0;i 填空*a2i+1 改错sum=;if((i+1)%5==0) 学生记录由学号和成绩组成,把低于平均分学生数据放在b数组中。 inti;doubleave=;*n=0; for(i=0;i for(i=0;i 填空->sno->name&t 改错doublefun(doublea,doublex0) if(fabs(x1-x0)> 学生记录由学号和成绩组成,把高于等于平均分学生数据放在b数组中。 doublet=0;inti;*n=0; for(i=0;i for(i=0;i 填空std[i].yearstd[i]n 改错IsPrime(intn)if(! (n%i)) 学生记录由学号和成绩构成,找出成绩最高的学生记录(只有一个最高分)。 inti,max=a[0].s,j=0; for(i=1;i *s=a[j]; 填空x[i]/Nj++ 改错doublefun(intm)for(i=100;i<=m;i+=100) 学生记录由学号和成绩构成,找出成绩最低的学生记录(只有一个最低分)。 inti,min=a[0].s,j=0; for(i=1;i *s=a[j]; 填空1ia[p+i] 改错floatk;if(*a<*c) 记录由学号和成绩组成,把分数最高的学生数据放在h数组中,分数最高的学生可能不止一个。 inti,max=a[0].s,n=0; for(i=1;i for(i=0;i returnn; 填空structstudent[i] 改错if(p==n)return-1;a[i]=a[i+1]; 记录由学号和成绩组成,把分数最低的学生数据放在h数组中,分数最低的学生可能不止一个。 inti,min=a[0].s,n=0; for(i=1;i for(i=0;i returnn; 填空n/2ia[n-1-i] 改错n=*p-‘0’;n=n*8+*p-‘0’; 记录由学号和成绩组成,函数返回指定学号的学生数据,若没找到,在结构体变量中给学号置空串,给成绩置-1。 STRECc;inti;[0]=‘\0’;=-1; for(i=0;i if(strcmp(a[i].num,b)==0) {strcpy,a[i].num);=a[i].s;break;} returnc; 填空999t/10x 改错voidfun(longs,long*t)while(s>0) 记录由学号和成绩组成,按分数高低排列学生记录,高分在前。 STRECtmp;inti,j; for(i=0;i for(j=i+1;j 填空structstudentn-1a[i].name,a[j].name 改错q=p+i;while(q>p) 记录由学号和成绩组成,把指定分数范围内学生数据放在b数组中。 inti,j=0; for(i=0;i if(a[i].s>=l&&a[i].s<=h)b[j++]=a[i];returnj; 二维数组 填空*stdPERSONstd 改错intk,q,i;pt[i]=str[k][i]; 数组左下半三角元素值全部置成0。 inti,j; for(i=0;i for(j=0;j<=i;j++)a[i][j]=0; 填空STUscore[i]&std 改错if(k>0)elseif(k==0) 数组左下半三角元素值乘以n。 inti,j; for(i=0;i for(j=0;j<=i;j++)a[i][j]*=n; 填空*avix[j] 改错floatfun(intn)for(i=2;i<=n;i++) 数组右上半三角元素值乘以m。 inti,j; for(i=0;i for(j=i;j 填空Nbreakn 改错sum=0;scanf("%d",&a[i][j]); 矩阵(3行3列)转置。 inti,j,arr[3][3];memcpy(arr,array,9*sizeof(int)); for(i=0;i<3;i++) for(j=0;j<3;j++)array[i][j]=arr[j][i]; 填空&&'\0's[j] 改错for(i=2;i<=m;i++)y+=(i*i); B=A+A’,把矩阵A加上矩阵A的转置存放在矩阵B中。 inti,j,c[3][3]; 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];} 填空x[i]/Nj++i++ 改错num[k]=0;switch(*s) 二维数组周边元素之和。 inttot=0,i,j; for(i=0;i for(i=1;i returntot; 填空s/Nj++-1 改错#include<>voidupfst(char*p) 数组周边元素的平均值。 inti,j,n=0;doublesum=0; for(i=0;i for(i=1;i returnsum/n; 填空h->nextp->next> 改错p=h->next;p=p->next; M行N列的二维数组中的数据,按行的顺序放到一维数组中。 inti,j,k; for(i=0;i for(j=0;j *n=mm*nn; 填空NODEnextr 改错if(i%2||s[i]%2==0)t[j]='\0'; M行N列的二维数组中的数据,按列的顺序放到一维数组中。 for(i=0;i for(j=0;j 填空FILE*fpch 改错s[j++]=s[i];s[j]='\0'; M行N列的二维数组中的字符数据,按列的顺序放到一个字符串中。 for(j=0;j 填空nextNULLr 改错r=t;if(*r==0) 将字符串数组中的M个字符串,按顺序合并组成一个新的字符串。 for(i=0;i 素数 填空it++count 改错intfun(inta,intb,intc) elsereturn1; 3到n之间所有素数的平方根之和。 inti,j=0;doubles=0; for(i=3;i<=n;i++) {for(j=2;j if(i%j==0)break; if(j==i)s=s+sqrt(i);} returns; 填空a[0][i] 改错voidfun(int*x,int*y)t=*x;*x=*y;*y=t; 小于或等于lim的所有素数放在aa数组中,返回所素数个数。 for(j=2;j<=(i/2);j++) if(i%j==0)break; if(j>(i/2))aa[k++]=i; 填空s--retu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 语言 答案 in