C语言改错题答案

发布时间:2018-11-20 16:35:23   来源:文档文库   
字号:

改错题

()

1. Cmody.011.C,功能是:从字符串数组str1中取出ASCII码值为偶数且下标为偶数的字符依次存放到字符串t中。如:若str1所指的字符串为:4Az18c?Ge9a0z!

t所指的字符串为:4z8z

注意:数组下标从0开始

#include

#include

#include

#include

void main()

{

char str1[100],t[200];

int i,j;

/**/ i=0;j=o;/**/

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("\nOriginal string :%s\n",str1);

printf("\nResult string :%s\n",t);

}

2.Cmody012.Cfun()功能:根据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

#define M 50

double fun(int n)

{

double y=0.0;

int i,j;j=0;

for(i=1;;i++){

/**/ if(i<>10)&&(i%3==0)) /**/

{ /**/ y+=1 1.0/i; /**/

j++;

}

if(j==n) break;

}

return y;

}

void main()

{

printf("fun(8)=%8.3lf\n",fun(8));

}

(二)

1. Cmody021.C,输出:

*

***

*****

*******

*********

#include

void main()

{

/**/int i; ,j; /**/

for(i=1;i<=5;i++){

for(j=1;j<=10-2*i;j++) printf(" ");

/**/ for(j=1;j<=5 2*i-1;j++) /**/

printf("*");

printf("\n");

}

}

2. Cmody022.C的功能是求解百元买百鸡问题:设一只公鸡2元,一只母鸡1元,一只小鸡0.5元。问一百元买一百只鸡,可以买母鸡,小鸡和公鸡?有多少种分配方案?

#include

#include

/**/ int fun();/**/

{

int hen,cock,chicken,n=0;

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();

}

}

return n;

}

void main()

{

printf("\nthe solution numbers is:%d\n",fun());

}

()

1.Cmody031.C,输入2个整数及一个运算符(+-*/%,进行相应运算后输出结果。

#include

#include

void main()

{int m,n,result,flag=0;

/**/ char ch , ; /**/

printf("Input an expression: ");

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);

}

2.Cmody032.C,输出201~300间的所有素数,统计总个数。

#include

#include

int fun()

{

int m,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");

}

}

return n;

}

void main()

{ printf("\nthe num of odd numbers between 201-300 is %d\n",fun());

}

()

1.Cmody041.C,统计输入字符串中小写英文字母的个数。

#include

#include

main()

{ char str1[128];

/**/ int i; ,len,sum=0; /**/

gets(str1);

len=strlen(str1);

for(i=0;i

/**/if(str1[i]>='a'|| &&str1[i]<='z') /**/

sum++;

}

printf("%d\n",sum);

}

2.Cmody042.C,将从键盘依次输入的M个整数逆序输出。

#include

#include

#define M 8

main()

{

int a[M],i;

printf("please input 8 nums:\n");

for(i=0;i

scanf("%d", /**/ &a[i] /**/);

printf("Inverse order is :\n");

/**/ for(i=M-1;i< >=0;i--) /**/

printf("%d ",a[i]);

printf("\n");

}

()

1. Ccomy051.C,统计输入字符串中大写字母个数。

#include

main()

{

/**/ char str1[100] /**/;

int i,len,sum=0;

printf("please input a string:\n");

scanf("%s",str1);

len=strlen(str1);

for(i=0;i

if(str1[i]>='A'&&str1[i]<='Z')

/**/ sum-- ++;/**/

}

printf("%d\n",sum);

}

2.输入M个整数,输出所有的偶数。

#include

#include

/**/ #include define M 5 /**/

main()

{

int a[M],i;

printf("please input 5 nums:");

for(i=0;i

scanf("%d",&a[i]);

printf("even nums:\n");

for(i=0;i

/**/ if(a[i]/ %2==0) /**/

printf("%d ",a[i]);

printf("\n");

}

()

1. Cmody061.C,将输入串中’0’~’8’转换成’1’~’9’,’9’转换成’0’

#include

#include

main()

{

char str1[128],str2[128];

int i,len;

gets(str1);

len=strlen(str1);

/**/ for(i=0;i> <len;i++) /**/

{

if(str1[i]>='0'&& str1[i]<='8')

str2[i]=str1[i]+1;

else if(str1[i]=='9')

str2[i]='0';

else str2[i]=str1[i];

}

/**/ str2[i]='\n 0';/**/

puts(str2);

}

2Cmody062.C,实现将两个串“ABC”、“XYZ”连接一起,输出:ABCxyz

#include

#include

void main()

{

char s1[12]="ABC",s2[]="xyz";

char *ps1=s1,*ps2;

/**/ ps2=NULL s2; /**/

/**/ while(*ps1= !=NULL '\0') /**/

ps1++;

while(*ps2) *(ps1++)=*(ps2++);

printf("%s\n",s1);

getch();

}

()

1. 程序Cmody071.c,其功能是从键盘输入三角形的三边长,求其面积,若三个边长不能构成三角形,则提示。

输入:6 9 11

输出:26.98

#include

#include

void main()

{

float a,b,c,s,area;

printf("Please input 3 numbers:\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("area is %.2f\n",area);

}

else

printf("error.\n");

}

2. 程序Cmody072.c,其功能是求解百马百担问题。

100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马数可分别为多少?有多少种解决方案?

#include

#include

/**/ void int fun() /**/

{ int large,middle,small,n=0;

for( large=0;large<=33;large++ )

for( middle=0;middle<=50;middle++ )

{

small = 2*(100-3*large-2*middle);

/**/ if( large+middle+small==100 ) /**/

{

n++; printf("%d-->large:%d,middle:%d,small:%d\n",n,large,middle,small);

}

}

return n;

}

void main()

{

int num;

num = fun();

printf("\n There are %d solutions.\n",num);

}

()

1. 程序Cmody081.c,其功能是求一堆零件的总数(100200之间)

如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。

#include

void main()

{

int i;

/**/ for( i=100; i<200; i++ ); /**/

if((i-2)%4 == 0)

if( !((i-3)%7) )

if( i%9 == 5 )

/**/ printf("%d",&i); /**/

}

2. 程序Cmody082.c,其功能是交换两个变量的值。

输入: 2 3

输出: Original: a=2 b=3

Result: a=3 b=2

#include

/**/ void swap(int *p1,int *p2) /**/

{

int temp;

temp = *p1;

/**/ *p1 = *p2; /**/

*p2 = temp;

}

void main()

{

int a,b;

printf("please input 2 numbers:\n");

scanf("%d%d",&a,&b);

printf("\nOriginal: a=%d b=%d\n",a,b);

swap(&a,&b);

printf("\nResult: a=%d b=%d\n",a,b);

}

(九)

1. 程序Cmody091.C,其功能是计算1100之间的奇数之和、偶数之和。

#include

void main()

{

int b,i;

/**/ int a=0,c=0; /**/

/**/ for( i=0, ;i<=100, ;i+=2 ) /**/

{

a+=i;

b=i+1;

c+=b;

}

printf("total of even numbers: %d\n",a);

printf("total of odd numbers: %d\n",c-101);

}

2. 程序Cmody092.C的功能是求满足等式xyz+yzz=520x,y,z(其中xyzyzz分别表示一个三位数)

#include

void main()

{

int x,y,z,i,result=520;

for( x=1;x<10;x++ )

for( y=1;y<10;y++ )

/**/ for( z=1 0;z<10;z++ ) /**/

{

i=100*x+10*y+z+100*y+10*z+z;

/**/ if (i==result) /**/

printf("x=%d,y=%d,z=%d\n",x,y,z);

}

}

本文来源:https://www.2haoxitong.net/k/doc/eac0718d591b6bd97f192279168884868762b8fe.html

《C语言改错题答案.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式