计算机二级C语言改错题.docx
- 文档编号:25536156
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:28
- 大小:18.49KB
计算机二级C语言改错题.docx
《计算机二级C语言改错题.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言改错题.docx(28页珍藏版)》请在冰豆网上搜索。
计算机二级C语言改错题
1.Cmody.011.C,功能是:
从字符串数组str1中取出ASCII码值为偶数且下标为偶数的字符依次存放到字符串t中。
如:
若str1所指的字符串为:
4Az18c?
Ge9a0z!
则t所指的字符串为:
4z8z
注意:
数组下标从0开始
#include
#include
#include
#include
voidmain()
{
charstr1[100],t[200];
inti,j;
/**/i=0;/**/
clrscr();
strcpy(str1,"4Az18c?
Ge9a0z!
");
for(i=0;i { /**/if((str1[i]%2==0)&&(i%2! =0))/**/ {t[j]=str1[i];j++;} } t[j]='\0'; printf("\nOriginalstring: %s\n",str1); printf("\nResultstring: %s\n",t); getch(); } 答案: #include #include #include #include voidmain() { charstr1[100],t[200]; inti,j; /**/i=0;j=0;/**/ clrscr(); strcpy(str1,"4Az18c? Ge9a0z! "); for(i=0;i { /**/if((str1[i]%2==0)&&(i%2==0))/**/ {t[j]=str1[i];j++;} } t[j]='\0'; printf("\nOriginalstring: %s\n",str1); printf("\nResultstring: %s\n",t); getch(); } 2.Cmody012.C,fun()功能: 根据n,计算大于10的最小n个能被3整除的正整数的倒数之和。 如: fun(8)=1/12+1/15+1/18+1/21+1/24+1/27+1/30+1/33=0.396 #include #include #include #include #defineM50 doublefun(intn) { doubley=0.0; inti,j;j=0; for(i=1;;i++){ /**/if(i<10)&&(i%3==0))/**/ {/**/y+=1/i;/**/ j++; } if(j==n)break; } returny; } voidmain() { clrscr(); printf("fun(8)=%8.3lf\n",fun(8)); } 答案: #include #include #include #include #defineM50 doublefun(intn) { doubley=0.0; inti,j;j=0; for(i=1;;i++){ /**/if((i>10)&&(i%3==0))/**/ {/**/y+=1.0/i;/**/ j++; } if(j==n)break; } returny; } voidmain() { clrscr(); printf("fun(8)=%8.3lf\n",fun(8)); getch(); } —————————————————————————————————————————————————————————————————————————————— 1.Cmody021.C,输出: * *** ***** ******* ********* #include voidmain() { /**/inti;j;/**/ for(i=1;i<=5;i++){ for(j=1;j<=10-2*i;j++)printf("");? ? j<=10-i /**/for(j=1;j<=5;j++)/**/ printf("*"); printf("\n"); } getch(); } 答案: #include voidmain() { /**/inti,j;/**/ for(i=1;i<=5;i++){ for(j=1;j<=10-2*i;j++)printf(""); /**/for(j=1;j<=2*i-1;j++)/**/ printf("*"); printf("\n"); } getch(); } 2.Cmody022.C的功能是求解百元买百鸡问题: 设一只公鸡2元,一只母鸡1元,一只小鸡0.5元。 问一百元买一百只鸡,可以买母鸡,小鸡和公鸡? 有多少种分配方案? #include #include /**/intfun();/**/ { inthen,cock,chicken,n=0; clrscr(); for(cock=0;cock<=50;cock+=1) for(hen=0;hen<=100;hen=hen+1) {chicken=2*(100-hen-2*cock); /**/if(cock+hen+chicken=100)/**/ {n++; printf("%d-->hen: %d,cock: %d,chicken: %d\n",n,hen,cock,chicken); if(n==20)getch(); } } returnn; } voidmain() { printf("\nthesolutionnumbersis: %d\n",fun()); getch(); } 答案: #include #include /**/intfun()/**/ { inthen,cock,chicken,n=0; clrscr(); for(cock=0;cock<=50;cock+=1) for(hen=0;hen<=100;hen=hen+1) {chicken=2*(100-hen-2*cock); /**/if(cock+hen+chicken==100)/**/ {n++; printf("%d-->hen: %d,cock: %d,chicken: %d\n",n,hen,cock,chicken); if(n==20)getch(); } } returnn; } voidmain() { printf("\nthesolutionnumbersis: %d\n",fun()); getch(); } _________________________________________________________________ _________________________________________________________________ 1.Cmody031.C,输入2个整数及一个运算符(+,-,*,/或%),进行相应运算后输出结果。 #include #include voidmain() { intm,n,result,flag=0; /**/charch,/**/ clrscr(); printf("Inputanexpression: "); scanf(%d%c%d",&m,&ch,&n); /**/switchch/**/ { case'+': result=m+n;break; case'-': result=m-n;break; case'*': result=m*n;break; case'/': result=m/n;break; case'%': result=m%n;break; default: {printf("Error! \n";flag=1;} if(! flag)printf("%d%c%d=%d\n\",m,ch,n,result); getch(); } 答案: #include #include voidmain() { intm,n,result,flag=0; /**/charch;/**/ clrscr(); printf("Inputanexpression: "); scanf("%d%c%d",&m,&ch,&n); /**/switch(ch)/**/ { case'+': result=m+n;break; case'-': result=m-n;break; case'*': result=m*n;break; case'/': result=m/n;break; case'%': result=m%n;break; default: {printf("Error! \n");flag=1;} } if(! flag)printf("%d%c%d=%d\n",m,ch,n,result); getch(); } 2.Cmody032.C,输出201~300间的所有素数,统计总个数。 #include #include intfun() { intm,i,k,n=0; for(m=201;m<=300;m+=2){ k=sqrt(m+1);? ? for(i=2;i<=k;i+=) /**/if(m/i==0)/**/ break; /**/if(i==k)/**/ {printf("%-4d",m);n++; if(n%10==0)printf("\n"); } } returnn; } voidmain() { fun(); getch(); } 答案: #include #include ? intfun() { intm,i,k,n=0; for(m=201;m<=300;m+=2) { k=sqrt(m); for(i=2;i<=k;i++) /**/if(m%i==0)/**/ break; /**/if(i==k+1)/**/ {printf("%-4d",m); n++; if(n%10==0)printf("\n"); } } returnn; } voidmain() {printf("\nthenumofoddnumbersbetween201-300is%d\n",fun()); getch(); } —————————————————————————————————————————————————————————————————————————————— 1.Cmody041.C,统计输入字符串中小写英文字母的个数。 #include #include main() {charstr1[128]; /**/inti;len,sum=0;/**/ gets(str1); len=strlen(str1); for(i=0;i /**/if(str1[i]>='a'||str1[i]<='z')/**/ sum++; } printf("%d\n",sum); getch(); } 答案: #include #include main() {charstr1[128]; /**/inti,len,sum=0;/**/ gets(str1); len=strlen(str1); for(i=0;i /**/if(str1[i]>='a'&&str1[i]<='z')/**/ sum++; } printf("%d\n",sum); getch(); } 2.Cmody042.C,将从键盘依次输入的M个整数逆序输出。 #include #include main() { inta[M],i;? ? printf("pleaseinput8nums: \n"); for(i=0;i scanf("%d",/**/a[i]/**/); printf("Inverseorderis: \n"); /**/for(i=M-1;i<=0;i--)/**/ printf("%d",a[i]); printf("\n"); getch(); } 答案: #include #include #defineM8 main() { inta[M],i; printf("pleaseinput8nums: \n"); for(i=0;i scanf("%d",/**/&a[i]/**/); printf("Inverseorderis: \n"); /**/for(i=M-1;i>=0;i--)/**/ printf("%d",a[i]); printf("\n"); getch(); } —————————————————————————————————————————————————————————————————————————————— 1.Ccomy051.C,统计输入字符串中大写字母个数。 #include main() { /**/charstr1/**/; inti,len,sum=0; printf("pleaseinputastring: \n"); scanf("%s",str1); len=strlen(str1); for(i=0;i if(str1[i]>='A'&&str1[i]<='Z') /**/sum--;/**/ } printf("%d\n",sum); getch(); } 答案: #include main() { /**/charstr1[100]/**/; inti,len,sum=0; printf("pleaseinputastring: \n"); scanf("%s",str1); len=strlen(str1); for(i=0;i if(str1[i]>='A'&&str1[i]<='Z') /**/sum++;/**/ } printf("%d\n",sum); getch(); } 2.输入M个整数,输出所有的偶数。 #include #include /**/#includeM5/**/ main() { inta[M],i; printf("pleaseinput5nums: "); for(i=0;i scanf("%d",&a[i]); printf("evennums: \n"); for(i=0;i /**/if(a[i]/2==0)/**/ printf("%d",a[i]); printf("\n"); getch(); } 答案: #include #include /**/#defineM5/**/ main() { inta[M],i; printf("pleaseinput5nums: "); for(i=0;i scanf("%d",&a[i]); printf("evennums: \n"); for(i=0;i /**/if(a[i]%2==0)/**/ printf("%d",a[i]); printf("\n"); getch(); } —————————————————————————————————————————————————————————————————————————————— 1.Cmody061.C,将输入串中’0’~’8’转换成’1’~’9’,将’9’转换成’0’。 #include #include main() { charstr1[128],str2[128]; inti,len; gets(str1); len=strlen(str1); /**/for(i=0;i>len;i++)/**/ { if(str1[i]>='0'&&str1[i]<='8') str2[i]=str1[i]+1; elseif(str1[i]=='9') str2[i]='0'; elsestr2[i]=str1[i]; } /**/str2[i]='\n';/**/ puts(str2); getch(); } 答案: #include #include main() { charstr1[128],str2[128]; inti,len; gets(str1); len=strlen(str1); /**/for(i=0;i { if(str1[i]>='0'&&str1[i]<='8') str2[i]=str1[i]+1; elseif(str1[i]=='9') str2[i]='0'; elsestr2[i]=str1[i]; } /**/str2[i]='\0';/**/ puts(str2); getch(); } 2.Cmody062.C,实现将两个串“ABC”、“XYZ”连接一起,输出: ABCxyz。 #include #include voidmain() { chars1[12]="ABC",s2[]="xyz"; char*ps1=s1,*ps2; /**/ps2=NULL;/**/ /**/while(*ps1==NULL)/**/ ps1++; while(*ps2)*(ps1++)=*(ps2++); printf("%s\n",s1); getch(); } 答案: #include #include voidmain() { chars1[12]="ABC",s2[]="xyz"; char*ps1=s1,*ps2; /**/ps2=s2;/**/ /**/while(*ps1! ='\0')/**/ ps1++; while(*ps2)*(ps1++)=*(ps2++); printf("%s\n",s1); getch(); } —————————————————————————————————————————————————————————————————————————————— 1.程序Cmody071.c,其功能是从键盘输入三角形的三边长,求其面积,若三个边长不能构成三角形,则提示。 如输入: 6911 输出: 26.98 #include #include voidmain() { floata,b,c,s,area; printf("Pleaseinput3numbers: \n"); /**/scanf("%f%f%f",a,b,c);/**/ /**/if(a+b>c||b+c>a||a+c>b)/**/ { s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("areais%.2f\n",area); } else printf("error.\n"); getch(); } 答案: #include #include voidmain() { floata,b,c,s,area; printf("Pleaseinput3numbers: \n"); /**/scanf("%f%f%f",&a,&b,&c);/**/ /**/if(a+b>c&&b+c>a&&a+c>b)/**/ { s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("areais%.2f\n",area); } else printf("error.\n"); getch(); } ---------------------------------------------------------------------------------------------------------------------- 2.程序Cmody072.c,其功能是求解百马百担问题。 有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马数可分别为多少? 有多少种解决方案? #include #include /**/voidfun()/**/ { intlarge,middle,small,n=0; clrscr(); for(large=0;large<=33;larg
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 语言 改错