国考计算机二级C语言 1讲解.docx
- 文档编号:25651840
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:50
- 大小:67.22KB
国考计算机二级C语言 1讲解.docx
《国考计算机二级C语言 1讲解.docx》由会员分享,可在线阅读,更多相关《国考计算机二级C语言 1讲解.docx(50页珍藏版)》请在冰豆网上搜索。
国考计算机二级C语言1讲解
a与b合并成c
1
填空STYPEFILEfp
改错for(i=0;i<=sl;i++)t[sl*2]='\0';
将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。
4152
*c=(a/10)*1000+(b/10)*100+(a%10)*10+b%10;
2
填空*fwstrstr
改错voidfun(longs,long*t)sl=sl*10;
看改错,哪个结果正确以哪个为准
填空:
structstudenta.namea.score[i]
改错:
if(p==n)return-1;a[i]=a[i+1]
将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。
1524
*c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;
3
填空fpfclose(fp)fname或"myfile3.dat"
改错for(i=j+1;i 将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。 2514 *c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10; 4 填空”r”fsft 改错if(d%2==0)s/=10; 看改错,哪个结果正确以哪个为准 填空*nnexthead 改错a=NULL;if(*r==*p) 将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。 5142 *c=(a%10)*1000+(b/10)*100+(a/10)*10+b%10; 51 填空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; 53 填空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; 72 填空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; 88 填空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; 整除 7 填空qnextnext 改错p=j;p=i; 求出1到m之内(含m)能被7或11整除的所有整数放在数组a中。 inti,j=0;*n=0; for(i=1;i<=m;i++) if(i%7==0||i%11==0){a[j++]=i;(*n)++;} 24 填空s[i]’9’*t=n 改错t=*x;*x=y;return(t); 求出1到1000之内能被7或11整除,但不能同时被7和11整除的所有整数并将它们放在a所指的数组中。 inti,j=0; for(i=1;i<=1000;i++) if((i%7==0||i%11==0)&&i%77! =0)a[j++]=i; *n=j; 48 填空a[i]a[i]0 改错y=1;d=a-i; 计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。 inti;doubles=0.0; for(i=1;i<=n;i++) if(i%5==0||i%9==0)s+=1.0/i; returns; 78 填空‘0’s++sum 改错if((k%13==0)||(k%17==0))} 求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s。 doubles=0.0;inti; for(i=0;i if(i%3==0&&i%7==0)s=s+i; returnsqrt(s); 112 填空48s++sum if((k%13==0)||(k%17==0)) } 求小于形参n同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回。 doublesum=0.0; inti; for(i=21;i<=n;i++) if((i%3==0)&&(i%7==0))sum+=i; returnsqrt(sum); 字符串 6 填空nextt->datat 改错voidfun(char*a)printf("%c",*a); 比较两个字符串的长度,函数返回较长的字符串。 char*p,*t1=t,*s1=s;intn=0,m=0; while(*s1++)n++;while(*t1++)m++; if(n>=m)p=s; elsep=t; returnp; 54 填空010*xn/10 改错*t=0if(d%2! =0) 实现两个字符串的连接。 char*p=p1;while(*p)p++;while(*p2)*p++=*p2++;*p=0; 69 填空[N]ii+1 改错aa[i]=m%k;printf("%d",aa[i-1]); 从传入的num个字符串中找出最长的一个字符串。 inti,k=0,maxlen; maxlen=strlen(a[k]); for(i=1;i {if(strlen(a[i])>maxlen) {maxlen=strlen(a[i]);k=i;} } *max=a[k]; 96 填空doublef1f2 改错char*fun(char*s,char*t) ss++; tt++; 移动字符串中的内容,把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。 inti,j;chart;for(i=1;i<=m;i++) {t=w[o];for(j=1;w[j]! =’\0’;j++) w[j-1]=w[j];w[j-1]=t;} 17 填空i+1k=jt 改错voidfun(char*str,charch) if(*str! =ch) str[1]=’\0’; 字符串中的内容逆置。 chart;inti,n; n=strlen(s); for(i=0;i 91 填空doublef1f2 改错p=h->next;p=p->next; 判断字符串是否为回文。 inti,n=0,flag=1;char*p=str; while(*p++)n++; for(i=0;i if(str[i]==str[n-1-i])continue; else{flag=0;break;} returnflag; 19 填空ss[i]n+j1 改错if(*p=='')*(p-1)=toupper(*(p-1)); 对长度为7个字符的字符串,除首,尾字符外,将其余5个字符按ASCII码降序排列。 chart;inti,j; for(i=1;i for(j=i+1;j if(s[i] 8 此为填空题题干,请核对: 在带有头结点的单向链表中,查找数据域中值为ch的结点,找到后通过函数值返回该结点在链表中所处的顺序号。 填空NULLnhead,ch 改错for(i=0,t=0;p[i];i++)c[t]='\0'; 将字符串ss中所有下标为奇数位置上的字母转换为大写。 inti; for(i=1;i if(ss[i]>='a'&&ss[i]<='z') ss[i]-=32; 71 此为填空题题干,请核对: 将a所指4*3矩阵中第k行的元素与第0行的元素交换。 填空kNa[k][i] 改错for(i=strlen(t)-1;i;i--) if(t[j]>t[j+1]) 将字符串ss中所有下标为奇数位置上的字母转换为大写。 inti; for(i=1;i if(ss[i]>='a'&&ss[i]<='z') ss[i]-=32; 70 填空0||1 改错t-=1.0/i;returnt; 删除字符串中的所有空格。 inti=0;char*p=str; while(*p) {if(*p! =’’)str[i++]=*p;p++;} str[i]=’\0’; 18 填空klenss[i][j] 改错result*=n--;returnresult; 从字符串中删除指定的字符。 inti=0;char*p=s; while(*p){if(*p! =c)s[i++]=*p;p++;} s[i]=’\0’; 26 填空t=ii’\0’ 改错while(fabs(t)>=num)t=s/n; 删除一个字符串中指定下标的字符。 inti,j=0; for(i=0;i if(i! =n)b[j++]=a[i];b[j]=’\0’; 10 填空datanexthead 改错while(*r)*a=*r;a++;r++; 将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。 inti,j=0,n=strlen(s); for(i=0;i if(i%2! =0)t[j++]=s[i]; t[j]=’\0’; 11 填空STUstd[i].numstd[i] 改错r++;p++;if(*r==’\0’) 将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 inti,j=0,n=strlen(s); for(i=0;i if(s[i]%2! =0)t[j++]=s[i]; t[j]=’\0’; 60 填空s[i]k’\0’ 改错while(*w)if(*r==*p) 将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 inti,j=0,n=strlen(s); for(i=0;i if(s[i]%2==0)t[j++]=s[i]; t[j]=’\0’; 61 填空jkp 改错while(i 将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s中剩余的字符形成的新串放在t所指的数组中。 inti,j=0,n=strlen(s); for(i=0;i if(! (i%2==0&&s[i]%2! =0))t[j++]=s[i]; t[j]=’\0’; 9 填空*nnexthead 改错a=NULL;if(*r==*p) 将s所指字符串中除了下标为偶数,同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。 inti,j=0,n=strlen(s); for(i=0;i if(i%2==0&&s[i]%2==0)t[j++]=s[i]; t[j]=’\0’; 106 填空fsfsft 改错if(d%2==0)s/=10; 将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。 inti,j=0,n=strlen(s); for(i=0;i if(i%2==0&&s[i]%2==0)t[j++]=s[i]; t[j]=’\0’; 59 填空0i++2.0*i 改错voidfun(char*s,char*t)t[2*d]=’\0’; 将s所指字符串中除了下标为奇数,同时ASCII值也为奇数的字符之外,其余的所有字符都删除。 inti,j=0,n=strlen(s); for(i=0;i if(i%2! =0&&s[i]%2! =0)t[j++]=s[i]; t[j]=’\0’; 22 填空j++s[i]=t1[i]j 改错for(j=i+1;j<6;j++)*(pstr+i)=*(pstr+j); 求出ss所指字符串中指定字符的个数。 intn=0; while(*ss){if(*ss==c)n++;ss++;} returnn; 20 填空[N]len*n=len 改错t+=1.0/i;returnt; 统计一个长度为2的字符串在另一个字符串中出现的次数。 intn=0;char*p,*r; while(*str) {p=str;r=substr; while(*r) if(*r==*p){r++;p++;} elsebreak; if(*r==‘\0’)n++;str++;} returnn; 25 填空1s[k]c 改错longs=0,t=0;t=t/10; 统计在字符串中‘a’到‘z’26个字母各自出现的次数,并依次放在pp所指数组中。 inti; for(i=0;i<26;i++)pp[i]=0; while(*tt) {if(*tt>='a'&&*tt<='z')pp[*tt-'a']++;tt++;} 100 填空filenamefpfp 改错p=(NODE*)malloc(sizeof(NODE)); returnh; 统计一行字符串中单词的个数。 inti,n=0; for(i=0;i if(s[i]>=’a’&&s[i]<=’z’&&s[i+1]==’’||s[i+1]=='\0’)n++; returnn; 55 填空100x 改错if(n==0)result*=n--; 看改错,哪个正确填哪个 填空0t(t-1)*(t+2)/2 改错b[i]=0; b[a[i]-‘a’]++; if(b[max] 将一个数字字符串转换为一个整数。 longs=0,t;inti=0,j,n=strlen(p),k,s1; if(p[0]==’-’)i++; for(j=i;j<=n-i;j++) {t=p[j]-’0’;s1=10; for(k=j;k if(p[0]==’-’)return–s; elsereturns; 94 填空nextNULLr 改错r=t;if(*r==0) 将放在字符串数组中的M个字符串,按顺序合并组成一个新的字符串。 inti,j,k=0; for(i=0;i {for(j=0;j if(a[i][j])b[k++]=*(*(a+i)+j); elsebreak;} b[k]=’\0’; 101 填空[N]ii+1 改错aa[i]=m%k;printf("%d",aa[i-1]); 从传入的num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址 (用****作为结束输入的标志)。 if(strlen(a[i])>maxlen) {maxlen=strlen(a[i]);k=i;} 102 填空b[k]N/2< 改错int t[N] ,i, num=0; t[num++]=b[i]; for(i=0; i 请编写函数fun,其功能是: 统计s所指字符串中的数字字符个数,并作为函数值返回。 intn=0;char*p=s; while(*p) {if(*p>='0'&&*p<='9')n++;p++;} returnn; 103 填空pbp->datap->next 改错int i, one=0, zero=0; switch( s[i] ) case 0: zero++;break; 请编写函数fun,其功能是将形参s所指的字符串放入形参a所指的字符数组中,使a中存放同样的字符串。 while(*a++=*s++);a--; 107 填空h->next0r 改错r=t;if(*r==0) 将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。 inti;*b=0; for(i=0;i strcat(b,a[i]); 108 填空0ti+t或t+i 改错 b[i]=0; b[a[i]-'a']++; if(b[max] 将一个数字字符串转换成与其面值相同的长整型整数。 inti,n;longt=0;n=strlen(s); for(i=0;i {t=t*10;t=t+(s[i]-'0');} returnt; 平均分和结构体 5 填空xps 改错longk=1;num/=10; 计算n门课程的平均分。 floataver=0.0;inti; for(i=0;i returnaver; 73 填空j0i++ 改错for(i=2;i<=m;i++)y-=1.0/(i*i); m个人成绩存放在score数组中,将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。 inti,k=0,aver=0; for(i=0;i for(i=0;i if(score[i] returnk; 40 填空charch<=’9’’0’ 改错b[k]=*p;b[k++]=''; N名学生的成绩已在一个带头节点的链表结构中,求出平均分。 floataver=0.0; while(h! =NULL){aver+=h->s;h=h->next;} returnaver/N; 90 填空fp==fp 改错n=strlen(aa);ch=aa[i]; N名学生的成绩已放入一个带头节点的链表结构中,h指向链表的头结点,找出学生的最高分。 doublemax=h->s; for(h=h->next;h->next! =NULL;h=h->next) if(h->s>max)max=h->s; returnmax; 36 填空a[i]a[j]a[j] 改错[1]switch(g) [2]case1: case2: return1; 或case1: return1;case2: return1; 某学生的记录由学号,8门课程成绩和平均分组成,求出该学生的平均分放在记录的ave成员中。 doubleav=0.0;inti; for(i=0;i a->ave=av; 37 填空*a2i+1 改错sum=0.0;if((i+1)%5==0) 学生的记录由学号和成绩组成,把低于平均分的学生数据放在b所指的数组中。 doubleaver=0.0;inti,j=0; for(i=0;i for(i=0;i if(a[i].s returnaver; 86 填空->sno->name&t 改错doublefun(doublea,doublex0) if(fabs(x1-x0)>0.00001) 学生的记录由学号和成绩组成,把高于等于平均分的学生数据放在b所指的数组中。 inti,j=0;doubleaver=0.0; for(i=0;i for(i=0;i if(a[i].s>=aver)b[j++]=a[i];*n=j; returnaver; 12 填空std[i].yearstd[i]n 改错IsPrime(intn)if(! (n%i)) 已知学生的记录由学号和学习成绩构成,找出成绩最高的学生记录(规定只有一个最高分)。 inti,max=a[0].s; for(i=0;i if(a[i].s>max){max=a[i].s;*s=a[i];} 62 填空0x[i]/Nj++ 改错doublefun(intm)for(i=100;i<=m;i+=100) 已知学生的记录由学号和学习成绩构成,找出成绩最低的学生记录(规定只有一个最低分)。 inti,min=a[0].s; for(i=0;i if(a[i].s 38 填空1ia[p+i] 改错floatk;if(*a<*c) 学生的记录由学号和成绩组成,把分数最高的学生数据放在b所指的数组中,注意: 分数最高的学生可能不止一个。 inti,j=0,n=0,max=a[0].s; for(i=0;i if(a[i].s>max)max=a[i].s; f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 国考计算机二级C语言 1讲解 计算机 二级 语言 讲解