C语言程序设计(第三版)习题库答案.doc

上传人:b****2 文档编号:1639016 上传时间:2022-10-23 格式:DOC 页数:26 大小:171KB
下载 相关 举报
C语言程序设计(第三版)习题库答案.doc_第1页
第1页 / 共26页
C语言程序设计(第三版)习题库答案.doc_第2页
第2页 / 共26页
C语言程序设计(第三版)习题库答案.doc_第3页
第3页 / 共26页
C语言程序设计(第三版)习题库答案.doc_第4页
第4页 / 共26页
C语言程序设计(第三版)习题库答案.doc_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

C语言程序设计(第三版)习题库答案.doc

《C语言程序设计(第三版)习题库答案.doc》由会员分享,可在线阅读,更多相关《C语言程序设计(第三版)习题库答案.doc(26页珍藏版)》请在冰豆网上搜索。

C语言程序设计(第三版)习题库答案.doc

C语言程序设计(第三版)习题库

1、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。

请编程序。

#include

main(){

floatr,h,C1,Sa,Sb,Va,Vb;

scanf(__”%f”__,&r);

scanf(”%d”,__&h_);;

C1=2*3.14*r;

Sa=3.14*r*r;

Sb=4*Sa;

Va=4*3.14*r*r*r/3;

Vb=Sa*h;

printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f”,Cl,Sa,Sb,Va,Vb);

}

2、输入一个华氏温度,要求输出摄氏温度。

公式为c=5(F-32)/9

输出要求有文字说明,取位2小数。

#include

main(){

floatF,c;

scanf("%f",&F);

____c=5*(F-32)/9______;

printf("c=%.2f",c);

}

3、有一函数:

写一程序,输入x值,输出y值。

#include

main(){

intx,y;

printf("输入x:

");

scanf("%d",&x);

if(x<1){/*x<1*/

y=x;

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

}elseif(____x<10_______){/*1≤x-10*/

_____y=2*x-1_______;

printf("x=%3d,y=2*x-1=%d\n",x,y);

}else{/*x≥10*/

y=3*x-11;

printf("x=%3d,y=3*x-11=%d\n",x#include"stdio.h"

main()

{

intx,y;

scanf("%d",&x);

if(x<1)

{y=x;}

elseif(x>=1&&x<10)

{y=2*x-1;}

else

{y=3*x-11;}

printf("%d",y);

}#include"stdio.h"

main()

{

intx,y;

scanf("%d",&x);

if(x<1)

{y=x;}

elseif(x>=1&&x<10)

{y=2*x-1;}

else

{y=3*x-11;}

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

}#include"stdio.h"

main()

{

intx,y;

scanf("%d",&x);

if(x<1)

{y=x;}

elseif(x>=1&&x<10)

{y=2*x-1;}

else

{y=3*x-11;}

printf("%d",y);

}scanf("%d",&x);

if(x<1)

{y=x;}

elseif(x>=1&&x<10)

{y=2*x-1;}

else

{y=3*x-11;}#include"stdio.h"

main()

{

intx,y;

scanf("%d",&x);

if(x<1)

y=x;

elseif(x>=1&&x<10)

y=2*x-1;

else

y=3*x-11;

printf("%d",y);

},y);

}

}

4、给定一个不多于5位的正整数,要求:

①求它是几位数;②按逆序打印出各位数字。

例如原数为321,应输出123。

#include

main(){

longintnum,m=0;

inti=0;

scanf("%ld",&num);

while(num>0){

i++;/*统计长度*/

m=m*10+num%10;

num=num/10;

}

printf("数字长度为:

%d",i);

printf("逆序数字为:

%d\n",m);

}

5、以下程序实现的功能:

求三个数的最大值

#include

main(){

inta,b,c,max;

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

if(a>b){

if(a>c)max=a;

else max=c;

}else{

if(b>c) max=b;

else

max=c;

}

printf("max=%d",max);

}

#include

main(){

intx,y,z,t=0;

scanf("%d%d%d",&x,&y,&z);

if(x>y)

{t=y;y=x;x=t;}

if(x>z)

{t=z;z=x;x=t;}

if(y>z)

{t=z;z=y;y=t;}

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

}

6、输入两个正整数m和n,求其最大公约数和最小公倍数。

/*枚举法*/

#include

main(){

longm,n,i=1,j,s;

scanf("%ld,%ld",&m,&n);

for(;i<=m&&i<=n;i++){

if(m%i==0&&n%i==0)s=i;

}

if(m>=n)j=m;

elsej=n;

for(;!

(j%m==0&&j%n==0);j++);

printf("s=%ld,j=%ld\n",s,j);

}

#include

main(){

inta,b,k,temp,i,p;

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

if(a>b)

temp=b;

else

temp=a;

for(i=2;i<=temp;i++)

{if(a%i==0&&b%i==0)

k=i;

}

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

p=a*b/k;

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

}

/*辗转相除*/

#include

main(){

intm,n,k,j,p,r=1;

scanf("%d,%d",&m,&n);

k=m>n?

m:

n;

j=m>n?

n:

m;

do{

r=k%j;

k=j;

j=r;

}while(r!

=0);

printf("%d,%d",k,m*n/k);

}

/*反复减法*/

#include

main(){

intm,n,k,j,p,r=1;

scanf("%d,%d",&m,&n);

k=m>n?

m:

n;

j=m>n?

n:

m;

do{

p=k-j;

if(j>p){k=j;j=p;}

elsek=p;

}while(p!

=0);

printf("%d,%d",k,m*n/k);

}

7、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

#include"stdio.h"

main(){

charc;inti=0,j=0,k=0,l=0;

while((c=getchar())!

=’\n’){

if(c>=’A’&&c<=’Z’||c>=’a’&&c<=’z’)

i++;//英文字母统计

elseif(c>=’0’&&c<=’9’)

j++;//数字统计

elseif(c==’’)

k++;//空格统计

elsel++;

}

printf("i=%d,j=%d,k=%d,l=%d\n",i,j,k,l);

}

8、求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。

例如:

2+22+222+2222+22222(n=5),n由键盘输入。

#include

main(){

inta,n;

longb=0,sum=0;

scanf(“%d%d”,&a,&n);

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

b=b*10+a;

sum=sum+b;

}

printf(“%ld”,sum);

}

9、打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。

例如:

153是一个水仙花数,因为153=13+53+33。

【程序1】

#include

main(){

inti,m,n,k;

for(i=100;i<1000;i++){

m=__i%10__;

n=_i/10%10__;

k=i/100;

if(__m*m*m+n*n*n+k*k*k==i__)

printf("%5d",i);

}

}

【程序2】

#include

main(){

inti,a,n,s;

for(i=100;i<=999;i++){

n=i;s=0;

while(n>0){

a=__n%10__;

s+=a*a*a;

n/=__10__;

}

if(__s==i__)printf(“%d”,i);

}

10、一个数如果恰好等于它的因子之和,这个数就称为"完数"。

例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。

编程序找出1000之内的所有完数,并按下面格式输出其因子:

6 its factors are 1、2、3

#include

main(){

inta,i,m;

for(a=1;a<=1000;a++){

for(__i=1,m=0__;i<=a/2;i++)

if(!

(a%i))__m+=i__;

if(m==a)printf(“%4d”,a);

}

}

11、利用:

p/4=1-1/3+1/5-1/7+….级数求p的值,直到最后一项的绝对值小于10-6为止。

求绝对值的函数为fabs()。

#__include__

#include

main(){

inti=1,flag=1;

doublesum=0.0,s;

do{

s=__1.0/(2*i-1)__;

sum+=s*flag;

i++;

__flag=-flag__;

}w

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1