C语言课后习题答案_c语言课后习题答案

2020-02-27 其他范文 下载本文

C语言课后习题答案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言课后习题答案”。

C语言课后习题答案-第四版-第一章

5、请参照本章例题,编写一个C语言程序,输出以下信息: **************************** V e r y G o o d!**************************** #include int main(){

printf(“**************************nn”);printf(“

Very Good!nn”);printf(“**************************n”);return 0;}

6、编写一个C语言程序,输入a,b,c三个值,输出其中最大值。#include int main(){ int a,b,c,max;printf(“please input a,b,c:n”);scanf(“%d%d%d”,&a,&b,&c);max=a;if(max int main(){ int a,b,c,max;printf(“please input a,b,c:n”);scanf(“%d%d%d”,&a,&b,&c);max=a>b?a:b;max=max>c?max:c;printf(“The largest number is %dn”,max);return 0;}

第3章

1、假如我国国民生产总值的年增长率为9%,计算10年后我国国民生产总值与现在相比增长多少百分比。计算公式为

P=(1+r)^n r 为年增长率,n 为年数,p为与现在相比的倍数。#include #include int main(){ float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf(“p=%fn”,p);return 0;}

2、存款利息计算。有1000元,想存5年,可按以下5种办法存:(1)一次存5年期。

(2)先存2年期,到期后将本息在存3年期。(3)先存3年期,到期后将本息在存2年期。

(4)先存1年期,到期后将本息在存1年期,连续存5次。(5)存活期存款。活期利息每一季度结算一次。2007年12月的银行存款利息如下: 1年定期存款利息为4.14%; 2年定期存款利息为4.68%; 3年定期存款利息为5.4%; 5年定期存款利息为5.85%;

活期存款利息为0.27%(活期利息每一季度结算一次。)如果r 为年利率,n 为存款年数,则计算本息和的公式为 1年期本息和:P=1000*(1+r);n年期本息和:P=1000*(1+n*r);存n次1年期的本息和:P=1000*(1+ r)^n;存活期本息和:P=1000*(1+r/4)^4n。

说明:P=1000*(1+r/4)^4n。是一个季度的本息和。#include #include int main(){ float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p=1000;p1=p*((1+r5)*5);

// 一次存5年期

p2=p*(1+2*r2)*(1+3*r3);

// 先存2年期,到期后将本息再存3年期

p3=p*(1+3*r3)*(1+2*r2);

// 先存3年期,到期后将本息再存2年期

p4=p*pow(1+r1,5);

// 存1年期,到期后将本息存再存1年期,连续存5次

p5=p*pow(1+r0/4,4*5);

// 存活期存款。活期利息每一季度结算一次

printf(“p1=%fn”,p1);

// 输出按第1方案得到的本息和

printf(“p2=%fn”,p2);

// 输出按第2方案得到的本息和

printf(“p3=%fn”,p3);

// 输出按第3方案得到的本息和

printf(“p4=%fn”,p4);

// 输出按第4方案得到的本息和

printf(“p5=%fn”,p5);

// 输出按第5方案得到的本息和

return 0;}

3、购房从银行贷了一笔款d,准备每月还款额为p,月利率为r,计算多少月能还清。设d为300000元,p为6000元,r为1%。对求得的月份取小数点后一位,对第2位按四舍五入处理。提示:计算还请月数m 的公式如下: m =[ log p –log(p-d*r)] / log(1+r)可以讲公式该写为

m ={ log [p /(p – d*r)] }/ log(1+r)C的库函数中有求对数的函数log10,是求以10为底的对数,log(p)表示log p。#include #include int main(){ float d=300000,p=6000,r=0.01,m;m=log10(p/(p-d*r))/log10(1+r);printf(“m=%6.2fn”,m);return 0;}

6、请编将“China”,编译成密码,密码规律是:用原有的字母后面第4个字母代替原来的字母。#include int main(){ char c1='C',c2='h',c3='i',c4='n',c5='a';c1=c1+4;c2=c2+4;c3=c3+4;c4=c4+4;c5=c5+4;printf(“pawor is %c%c%c%c%cn”,c1,c2,c3,c4,c5);return 0;}

7、设圆半径r =1.5,圆柱高h=3,求圆周长、圆面积、圆柱表面积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。请编程序。#include int main(){ float h,r,l,s,sq,vq,vz;float pi=3.141526;printf(“请输入圆半径r,圆柱高h∶”);scanf(“%f,%f”,&r,&h);

//要求输入圆半径r和圆柱高h

l=2*pi*r;

//计算圆周长l s=r*r*pi;

//计算圆面积s sq=4*pi*r*r;

//计算圆球表面积sq vq=3.0/4.0*pi*r*r*r;

//计算圆球体积vq vz=pi*r*r*h;

//计算圆柱体积vz printf(“圆周长为:

l=%6.2fn”,l);printf(“圆面积为:

s=%6.2fn”,s);

printf(“圆球表面积为:

sq=%6.2fn”,sq);printf(“圆球体积为:

v=%6.2fn”,vq);printf(“圆柱体积为:

vz=%6.2fn”,vz);return 0;}

第四章

4、有3个正整数a,b,c,有键盘输入,输出其中最大的数。#include int main(){ int a,b,c;printf(“请输入三个整数:”);scanf(“%d,%d,%d”,&a,&b,&c);if(a

if(b

printf(“max=%dn”,c);

else

printf(“max=%dn”,b);

else if(a

printf(“max=%dn”,c);else

} printf(“max=%dn”,a);return 0;

4、有3个正整数a,b,c,有键盘输入,输出其中最大的数。#include int main(){

int a,b,c,temp,max;printf(“请输入三个整数:”);scanf(“%d,%d,%d”,&a,&b,&c);temp=(a>b)?a:b;

/*将a和b中的大者存入temp中*/ max=(temp>c)?temp:c;

/*将a和b中的大者与c比较,取最大者*/ printf(“三个整数的最大数是%dn”,max);return 0;}

5、从键盘输入一个小于1000的正整数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其检查是否为小于1000的正数。若不是,则要求从新输入。#include #include #define M 1000 int main(){ int i,k;

printf(“请输入一个小于%d的整数i:”,M);scanf(“%d”,&i);while(i>M)

{ printf(“输入的数不符合要求,请重新输入一个小于%d的整数i:”,M);

} k=sqrt(i);printf(“%d的平方根的整数部分是:%dn”,i,k);return 0;} 6、有一个函数: scanf(“%d”,&i);

x

(x

y(1

3*x – 11

(x>=10)=

2*x1

(x

Y =

0

(x=0)

(x>0)

写程序,输入x 的值,输出y 相应的值。#include int main(){

int x,y;

printf(“please enter x:”);

scanf(“%d”,&x);

y=0;

if(x>=0)

if(x>0)y=1;

else y=-1;

printf(“x=%d,y=%dn”,x,y);return 0;{ }

8、给出一百分制成绩,要求输出成绩等级‘A’,’B’,’C’,’D’,’E’。90分以上为‘A’,80~89分为’B’,70~79分为’C’,60~69分为’D’,60分以下为’E’。#include int main(){ float score;

char grade;

printf(“请输入学生成绩:”);

scanf(“%f”,&score);

while(score>100||score

}

switch((int)(score/10)){ case 10: case 9: grade='A';break;case 8: grade='B';break;case 7: grade='C';break;printf(“n 输入有误,请重输”);scanf(“%f”,&score);case 6: grade='D';break;case 5: case 4: case 3: case 2: case 1: case 0: grade='E';}

printf(“成绩是 %5.1f,相应的等级是%cn ”,score,grade);return 0;}

9、给出一个不多于5位数的正整数;(1)求出它是几位数;(2)分别输出每一位数字;

(3)按逆顺序输出各位数,例如原有数为123,应输出321.#include #include int main(){ int num,indiv,ten,hundred,thousand,ten_thousand,place;//分别代表个位,十位,百位,千位,万位和位数

printf(“请输入一个整数(0-99999):”);scanf(“%d”,&num);if(num>9999)

place=5;else if(num>999)place=4;else if(num>99)place=3;else if(num>9)place=2;else place=1;printf(“位数:%dn”,place);printf(“每位数字为:”);ten_thousand=num/10000;thousand=(int)(num-ten_thousand*10000)/1000;hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);printf(“n反序数字为:”);switch(place){ case 5: printf(“%d%d%d%d%dn”,indiv,ten,hundred,thousand,ten_thousand);break;case break;case 3:printf(“%d%d%dn”,indiv,ten,hundred);break;case 2: printf(“%d%dn”,indiv,ten);break;case 1: printf(“%dn”,indiv);break;} return 0;}

11、输入4个整数,要求按由小到大的顺序输出。#include int main(){ int t,a,b,c,d;printf(“请输入四个数:”);scanf(“%d%d%d%d”,&a,&b,&c,&d);printf(“a=%d,b=%d,c=%d,d=%dn”,a,b,c,d);if(a>b)

{ t=a;a=b;b=t;} if(a>c)4: printf(“%d%d%d%dn”,indiv,ten,hundred,thousand);

{ t=a;a=c;c=t;} if(a>d)

{ t=a;a=d;d=t;} if(b>c)

{ t=b;b=c;c=t;} if(b>d)

{ t=b;b=d;d=t;} if(c>d)

{ t=c;c=d;d=t;} printf(“排序结果如下: n”);printf(“%d %d %d %d n”,a,b,c,d);return 0;}

12、有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为 1,这4个圆塔高位10cm, 塔以外无建筑物。求该点的建筑物高度(塔外的高度为零)。#include int main(){ int h=10;float x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2,x,y,d1,d2,d3,d4;printf(“请输入一个点(x,y):”);scanf(“%f,%f”,&x,&y);d1=(x-x4)*(x-x4)+(y-y4)*(y-y4);

/*求该点到各中心点距离*/ d2=(x-x1)*(x-x1)+(y-y1)*(y-y1);d3=(x-x2)*(x-x2)+(y-y2)*(y-y2);d4=(x-x3)*(x-x3)+(y-y3)*(y-y3);if(d1>1 && d2>1 && d3>1 && d4>1)

h=0;/*判断该点是否在塔外*/ printf(“该点高度为 %dn”,h);return 0;} 第五章

例5.7

用pi/4=1-1/3+1/5-1/7+„„公式求pi近似值,直到发现某一项的绝对值小于10^6为止。

#include #include

// 程序中用到数学函数fabs,应包含头文件math.n int main(){ int sign=1,count=0;

// sign用来表示数值的符号,count用来统计循环次数 double pi=0.0,n=1.0,term=1.0;// pi开始代表多项式的值,最后代表π的值,n

母,term代表当前项的值

while(fabs(term)>=1e-8)

// 检查当前项term的绝对值是否大于或等于10的(-6)次方

{

pi=pi+term;

// 把当前项term累加到pi中 n=n+2;

// n+2是下一项的分母

sign=-sign;

// sign代表符号,下一项的符号与上一项符号相反

} pi=pi*4;

// 多项式的和pi乘以4,才是π的近似值

printf(“pi=%10.8fn”,pi);

// 输出π的近似值

printf(“count=%dn”,count);

// 输出循环次数

return 0;}

3、输入两个正整数m和n,求其最大公约数和最小公倍数。#include int main()term=sign/n;

// 求出下一项的值term count++;

// count累加1 { int p,r,n,m,temp;printf(“请输入两个正整数n,m:”);scanf(“%d,%d,”,&n,&m);if(n

temp=n;

n=m;

m=temp;} p=n*m;while(m!=0){

r=n%m;

n=m;

m=r;} printf(“它们的最大公约数为:%dn”,n);printf(“它们的最小公约数为:%dn”,p/n);return 0;}

4、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#include int main(){

char c;

int letters=0,space=0,digit=0,other=0;

printf(“请输入一行字符:n”);

while((c=getchar())!='n')

{

if(c>='a' && c='A' && c

letters++;

else if(c==' ')

space++;

else if(c>='0' && c

digit++;

else

other++;

}

printf(“字母数:%dn空格数:%dn数字数:%dn其它字符数:%dn”,letters,space,digit,other);

return 0;

}

5、求Sn=a+aa+aaa+„„+aa„„a之值,其中a是一个数字,n 表示a 的位数。n 由键盘输入。#include int main(){ int a,n,i=1,sn=0,tn=0;printf(“a,n=:”);scanf(“%d,%d”,&a,&n);while(i

} printf(“a+aa+aaa+...=%dn”,sn);return 0;}

6、求和:1!+2!+3!+„„+20!。#include int main(){ tn=tn+a;/*赋值后的tn为i个 a组成数的值*/ sn=sn+tn;/*赋值后的sn为多项式前i项之和*/ a=a*10;++i;double s=0,t=1;int n;for(n=1;n

t=t*n;

s=s+t;} printf(“1!+2!+...+20!=%22.15en”,s);return 0;}

7、求1+2+3+„„+100+1+2^2+3^2+4^2++50^2+1+1/2+1/3+1/4+„„+1/10。#include int main(){ int n1=100,n2=50,n3=10;double k,s1=0,s2=0,s3=0;for(k=1;k

{s1=s1+k;} for(k=1;k

{s2=s2+k*k;} for(k=1;k

{s3=s3+1/k;} printf(“sum=%15.6fn”,s1+s2+s3);return 0;}

8、输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如153是一位水仙花数,因为153=13+53+33。#include int main(){ int i,j,k,n;printf(“parcius numbers are ”);for(n=100;n

} printf(“n”);return 0;i=n/100;j=n/10-i*10;k=n%10;if(n==i*i*i + j*j*j + k*k*k)printf(“%d ”,n);}

9、编程求1000之内的完数,并按下面格式输出其因子:its factors are 1,2,3 #include int main(){ int m,s,i;for(m=2;m

s=0;for(i=1;i

if((m%i)==0)s=s+i;if(s==m){

} printf(“%d,its factors are ”,m);for(i=1;i

} return 0;}

10、有一个分数序列:

2/1,3/2,5/3,8/5,13/8,21/13,„„ 求出这个数列前20项之和。#include int main(){ int i,n=20;double a=2,b=1,s=0,t;for(i=1;i

} printf(“sum=%16.10fn”,s);return 0;}

11、一个球从100米敢赌下落,每次反弹高度为原来的一半,在下落,在反弹。求第10次落地时共经过多少米?第10次反弹多高?

#include s=s+a/b;t=a, a=a+b, b=t;int main(){ double sn=100,hn=sn/2;int n;for(n=2;n

} printf(“第10次落地时共经过%f米n”,sn);printf(“第10次反弹%f米n”,hn);return 0;}

12、猴子吃桃问题。猴子第1天摘了若干个桃子,当即吃了一半零一个;第2剩下的吃了一半零一个,一次循环。到第十天时想吃就剩下一个桃子。求第一天摘了几个桃子? #include int main(){ int day,x1,x2;day=9;x2=1;sn=sn+2*hn;

/*第n次落地时共经过的米数*/ hn=hn/2;

/*第n次反跳高度*/ while(day>0){ x1=(x2+1)*2;

/*第1天的桃子数是第2天桃子数加1后的2倍.*/

} printf(“total=%dn”,x1);return 0;}

16、输出以下图案:

*

*** ***** ******* ***** *** * #include int main(){ int i,j,k;for(i=0;i

for(j=0;j

printf(“ ”);

for(k=0;k

printf(“*”);

printf(“n”);} for(i=0;i

for(j=0;j

printf(“ ”);

for(k=0;k

printf(“*”);

printf(“n”);} return 0;}

17、甲队A,B,C 3 人,乙队 X,Y,Z 3人。A不和X比;X,Z比,请编程找出3 对赛手的名单。#include

int main(){

C不和 char i,j,k;

/*是a的对手;j是b的对手;k是c的对手*/ for(i='x';i

} 第六章

1、用筛选法求100之内的素数。#include #include int main(){ int i,j,n,a[101];

for(i=1;i

a[i]=i;

a[1]=0;

for(i=2;i

if(i!=j)

for(k='x';k

if(i!=k && j!=k)

if(i!='x' && k!='x' && k!='z')

printf(“A--%cnB--%cnC--%cn”,i,j,k);

return 0;

for(j=i+1;j

{ if(a[i]!=0 && a[j]!=0)

if(a[j]%a[i]==0)

a[j]=0;

}

printf(“n”);

for(i=2,n=0;i

{ printf(“%5d”,a[i]);

n++;

}

if(n==10)

{ printf(“n”);

n=0;

}

}

printf(“n”);

return 0;}

2、用选择法对10个整数排序。#include int main(){ int i,j,min,temp,a[11];

printf(“enter data:n”);

for(i=1;i

{ printf(“a[%d]=”,i);

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

}

printf(“n”);

printf(“The orginal numbers:n”);

for(i=1;i

printf(“%5d”,a[i]);

printf(“n”);

for(i=1;i

for(j=i+1;j

if(a[min]>a[j])min=j;

temp=a[i];

a[i]=a[min];

a[min]=temp;

}

printf(“nThe sorted numbers:n”);

for(i=1;i

printf(“%5d”,a[i]);

printf(“n”);

return 0;}

3、求一个3 x 3 的整型矩阵对角线元素之和。#include int main(){ int a[3][3],sum=0;int i,j;

printf(“enter data:n”);

for(i=0;i

for(j=0;j

scanf(“%3d”,&a[i][j]);

for(i=0;i

sum=sum+a[i][i];

printf(“sum=%6dn”,sum);

return 0;}

4、有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。#include int main(){ int a[11]={1,4,6,9,13,16,19,28,40,100};

int temp1,temp2,number,end,i,j;

printf(“array a:n”);

for(i=0;i

printf(“%5d”,a[i]);

printf(“n”);

printf(“insert data:”);

scanf(“%d”,&number);

end=a[9];

if(number>end)

a[10]=number;

else

{ for(i=0;inumber)

{ temp1=a[i];

a[i]=number;

for(j=i+1;j

{ temp2=a[j];

a[j]=temp1;

temp1=temp2;

}

break;

}

}

}

printf(“Now array a:n”);

for(i=0;i

printf(“%5d”,a[i]);

printf(“n”);

return 0;}

5、将一个数组中的值按逆顺序重新存放。例如:8,6,5,4,1。要求改为:1,4,5,6,8.。#include #define N 5 int main(){ int a[N],i,temp;

printf(“enter array a:n”);

for(i=0;i

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

printf(“array a:n”);

for(i=0;i

printf(“%4d”,a[i]);

for(i=0;i

素的值互换 { temp=a[i];

a[i]=a[N-i-1];

a[N-i-1]=temp;

} printf(“nNow,array a:n”);for(i=0;i

printf(“%4d”,a[i]);

//循环的作用是将对称的元

printf(“n”);

return 0;}

6、输出以下杨辉三角形(要求输出10行)。1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 „„„„„„„„„„„„ #include #define N 10 int main(){ int i,j,a[N][N];

for(i=0;i

{ a[i][i]=1;

a[i][0]=1;

}

for(i=2;i

for(j=1;j

a[i][j]=a[i-1][j-1]+a[i-1][j];

for(i=0;i

printf(“%6d”,a[i][j]);

printf(“n”);

}

printf(“n”);

return 0;}

7、输出“魔方阵”。所谓魔方阵就是每行每列和对角线之和相等。例如:1 6 3 5 7 4 9 2 要求输出1~n^2的自然数构成的魔方阵。#include int main(){ int a[15][15],i,j,k,p,n;

p=1;

while(p==1){ printf(“enter n(n=1--15):”);

scanf(“%d”,&n);

if((n!=0)&&(n

p=0;

}

for(i=1;i

for(j=1;j

a[i][j]=0;

j=n/2+1;

a[1][j]=1;

for(k=2;k

j=j+1;

if((in))

{ i=i+2;

j=j-1;

}

else

{ if(i

if(j>n)j=1;

}

if(a[i][j]==0)

a[i][j]=k;

else

{ i=i+2;

j=j-1;

a[i][j]=k;

}

}

for(i=1;i

{for(j=1;j

printf(“%5d”,a[i][j]);

printf(“n”);

}

return 0;}

9、有15个数按由大到小顺序存放在一个数组中,输入一个数,要求折半查找法找出该数是数组中第几个元素值。如果不在数组中则输出“无此数”。#include #define N 15 int main(){

int i,number,top,bott,mid,loca,a[N],flag=1,sign;

char c;

printf(“enter data:n”);

scanf(“%d”,&a[0]);

i=1;

while(i

{ scanf(“%d”,&a[i]);

if(a[i]>=a[i-1])

i++;

else

printf(“enter this data again:n”);

}

printf(“n”);

for(i=0;i

printf(“%5d”,a[i]);

printf(“n”);

while(flag){ printf(“input number to look for:”);

scanf(“%d”,&number);

sign=0;

top=0;

//top是查找区间的起始位置

bott=N-1;

//bott是查找区间的最末位置

if((numbera[N-1]))//要查的数不在查找区间内

loca=-1;

// 表示找不到

while((!sign)&&(top

{mid=(bott+top)/2;

if(number==a[mid])

{ loca=mid;

printf(“Has is %dn”,number,loca+1);

sign=1;

}

else if(number

bott=mid-1;

else

found

%d,its

position

top=mid+1;

}

if(!sign||loca==-1)

printf(“cannot find %d.n”,number);;

printf(“continu or not(Y/N)?”);

scanf(“ %c”,&c);

if(c=='N'||c=='n')

flag=0;

}

return 0;

}

10、有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符个数。

#include int main(){ int i,j,upp,low,dig,spa,oth;

char text[3][80];

upp=low=dig=spa=oth=0;

for(i=0;i

{ printf(“please input line %d:n”,i+1);

gets(text[i]);

for(j=0;j

{ if(text[i][j]>='A'&& text[i][j]

upp++;

else if(text[i][j]>='a' && text[i][j]

low++;

else if(text[i][j]>='0' && text[i][j]

dig++;

else if(text[i][j]==' ')

spa++;

else

oth++;

}

}

printf(“nupper case: %dn”,upp);

printf(“lower case: %dn”,low);

printf(“digit

: %dn”,dig);

printf(“space

: %dn”,spa);

printf(“other

: %dn”,oth);return 0;}

11、输出以下图案:* * * * *

* * * * * * * * * * * * * * * * * * * * #include int main(){ char a[5]={'*','*','*','*','*'};

int i,j,k;

char space=' ';

for(i=0;i

{ printf(“n”);

printf(“

”);

for(j=1;j

printf(“%c”,space);

for(k=0;k

printf(“%c”,a[k]);

}

printf(“n”);

return 0;}

12、有一行电文,已按下面规律译成密码:A>Z,B>Y,C>X„„a>z,b>y,c>x„„

编程译回原文并输出密码和原文。#include int main(){ int j,n;

char ch[80],tran[80];

printf(“input cipher code:”);

gets(ch);

printf(“ncipher code :%s”,ch);

j=0;

while(ch[j]!='')

{ if((ch[j]>='A')&&(ch[j]

tran[j]=155-ch[j];

else if((ch[j]>='a')&&(ch[j]

tran[j]=219-ch[j];

else

tran[j]=ch[j];

j++;

}

n=j;

printf(“noriginal text:”);

for(j=0;j

putchar(tran[j]);

printf(“n”);

return 0;}

12、有一行电文,已按下面规律译成密码:a>z,b>y,c>x„„

编程译回原文并输出密码和原文。#include int main(){ int j,n;

char ch[80];

printf(“input cipher code:n”);

gets(ch);

printf(“ncipher code:%sn”,ch);

j=0;

while(ch[j]!='')

A>Z,B>Y,C>X„„

{ if((ch[j]>='A')&&(ch[j]

ch[j]=155-ch[j];

else if((ch[j]>='a')&&(ch[j]

ch[j]=219-ch[j];

else

ch[j]=ch[j];

j++;

}

n=j;

printf(“original text:”);

for(j=0;j

putchar(ch[j]);

printf(“n”);

return 0;}

15、编写一个程序,将S2中的全部字符复制到字符数组S1中。不用strcpy函数。复制时‘’ 也要复制过去。‘’后面的字符不复制。#include int main(){ char s1[80],s2[40];

int i=0,j=0;

printf(“input string1:”);

scanf(“%s”,s1);

printf(“input string2:”);

scanf(“%s”,s2);

while(s1[i]!='')

i++;

while(s2[j]!='')

s1[i++]=s2[j++];

s1[i]='';

printf(“nThe new string is:%sn”,s1);

return 0;}

15、编写一个程序,将S2中的全部字符复制到字符数组S1中。不用strcpy函数。复制时‘’ 也要复制过去。‘’后面的字符不复制。#include #include int main(){ char s1[80],s2[80];

int i;

printf(“input s2:”);

scanf(“%s”,s2);

for(i=0;i

s1[i]=s2[i];

printf(“s1:%sn”,s1);

return 0;} 第七章

1、写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。程序有误

#include int main(){ int hcf(int,int);

int lcd(int,int,int);

int u,v,h,l;

scanf(“%d,%d”,&u,&v);

h=hcf(u,v);

printf(“H.C.F=%dn”,h);

l=lcd(u,v,h);

《C语言课后习题答案.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
C语言课后习题答案
点击下载文档
相关专题 c语言课后习题答案 课后 习题 答案 c语言课后习题答案 课后 习题 答案
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文