c程序设计课后习题答案详解.docx

上传人:b****3 文档编号:2836621 上传时间:2022-11-15 格式:DOCX 页数:17 大小:18.65KB
下载 相关 举报
c程序设计课后习题答案详解.docx_第1页
第1页 / 共17页
c程序设计课后习题答案详解.docx_第2页
第2页 / 共17页
c程序设计课后习题答案详解.docx_第3页
第3页 / 共17页
c程序设计课后习题答案详解.docx_第4页
第4页 / 共17页
c程序设计课后习题答案详解.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

c程序设计课后习题答案详解.docx

《c程序设计课后习题答案详解.docx》由会员分享,可在线阅读,更多相关《c程序设计课后习题答案详解.docx(17页珍藏版)》请在冰豆网上搜索。

c程序设计课后习题答案详解.docx

c程序设计课后习题答案详解

1、编写一个程序,输入abc三个值,输出其中最大者。

解:

#include

voidmain()

{inta,b,c,max;

printf("请输入三个数a,b,c:

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

max=a;

if(max

max=b;

if(max

max=c;

printf("最大数为:

%d",max);

}

2、输入一个华氏温度,要求输出摄氏温度,公式为C=5/9(F-32),输出要有文字说明,取两位小数.

解:

#include

voidmain()

{

floatc,f;

printf("请输入一个华氏温度:

\n");

scanf("%f",&f);

c=(5.0/9.0)*(f-32);

printf("摄氏温度为:

%5.2f\n",c);

}

3、输入四个整数,按大小顺序输出.

#include

voidmain()

{intt,a,b,c,d;

printf("请输入四个数:

");

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

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

if(a>b)

{t=a;a=b;b=t;}

if(a>c)

{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;}

printf("\n排序结果如下:

\n");

printf("%d%d%d%d\n",a,b,c,d);

}

4、有三个整数a,b,c,由键盘输入,输出其中最大的数.

#include

voidmain()

{inta,b,c,termp,max;

printf("请输入A,B,C:

");

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

printf("A=%d,B=%d,C=%d\n",a,b,c);

temp=(a>b)?

a:

b;

max=(temp>c)?

temp:

c;

printf("A,B,C中最大数是%d,",max);

}

5、输入两个数,求最小公倍数.

#include

voidmain()

{intm,n,i;

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

for(i=m*n;i>=1;i--)

{if((i%m==0)&&(i%n==0))break;}

printf("%d",i);

}

6.输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数.

解:

#include

voidmain()

{

charc;

intletters=0,space=0,degit=0,other=0;

printf("请输入一行字符:

\n");

while((c=getchar())!

='\n')

{

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

letters++;

elseif(c=='')

space++;

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

digit++;

else

other++;

}

printf("其中:

字母数=%d空格数=%d数字数=%d其它字符数=%d\n",letters,space,

digit,other);

}

7、水仙开花

#include

voidmain()

{

inti,j,k,n;

printf("'水仙花'数是:

\n");

for(n=100;n<1000;n++)

{

i=n/100;

j=n/10-i*10;

k=n%10;

if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)

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

}

8、判断整数是否为素数

#include

voidmain()

{intprime(int);

intnumber;

printf("请输入一个正整数:

\n");

scanf("%d",&number);

if(prime(number))

printf("\n%d是素数.",number);

else

printf("\n%d不是素数",number);

}

intprime(intnumber)

{

intflag=1,n;

for(n=2;n

if(number%n==0)

flag=0;

return(flag);

9、}/*起泡法排序*/

#defineN10

charstr[N];

main()

{

inti,flag;

for(flag=1;flag==1;)

{

printf("\n输入字符串,长度为10:

\n");

scanf("%s",&str);

if(strlen(str)>N)

printf("超过长度,请重输!

");

else

flag=0;

}

sort(str);

printf("\n排序结果:

");

for(i=0;i

printf("%c",str[i]);

}

sort(str)

charstr[N];

{

inti,j;

chart;

for(j=1;j

for(i=0;(i

='\0');i++)

if(str[i]>str[i+1])

{t=str[i];

str[i]=str[i+1];

str[i+1]=t;

}

}

10、/*判断输入年份是否为闰年*/

#defineLEAP_YEAR(y)(y%4==0)&&(y%100!

=0)||(y%400==0)

main()

{

intyear;

printf("\n请输入某一年:

");

scanf("%d",&year);

if(LEAP_YEAR(year))

printf("%d是闰年.\n",year);

else

printf("%d不是闰年.\n",year);

}

/*用函数方法,从三个数中找出最大值*/

main()

{

inta,b,c;

printf("请输入三个整数:

");

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

printf("三个之中最大值为:

%d\n",max(a,b,c));

}

max(x,y,z)

intx,y,z;

{

intt;

t=(x>y?

x:

y);

return(t>z?

t:

z);

}

11、输入四个整数,按大小顺序输出.

#include

Voidmain()

{intt,a,b,c,d;

printf("请输入四个数:

");

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

printf("\n\na=%d,b=%d,c=%d,d=%d\n",a,b,c,d);

if(a>b)

{t=a;a=b;b=t;}

if(a>c)

{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排序结果如下:

\n");

printf("%d%d%d%d\n",a,b,c,d);

}

12、设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积,用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后两位数字.请编程.

解:

main()

{

floatpi,h,r,l,s,sq,vq,vz;

pi=3.1415926;

printf("请输入圆半径r圆柱高h:

\n");

scanf("%f,%f",&r,&h);

l=2*pi*r;

s=r*r*pi;

sq=4*pi*r*r;

vq=4.0/3.0*pi*r*r*r;

vz=pi*r*r*h;

printf("圆周长为:

=%6.2f\n",l);

printf("圆面积为:

=%6.2f\n",s);

printf("圆球表面积为:

=%6.2f\n",sq);

printf("圆球体积为:

=%6.2f\n",vz);

13、用筛选法求100之内的素数.

/*用筛选法求100之内的素数*/

#include

#defineN101

main()

{inti,j,line,a[N];

for(i=2;i

for(i=2;i

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,line=0;i

{if(a[i]!

=0)

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

line++;

if(line==10)

{printf("\n");

line=0;}

}

}

14、球反弹问题

main()

{

floatsn=100.0,hn=sn/2;

intn;

for(n=2;n<=10;n++)

{

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

hn=hn/2;/*第n次反跳高度*/

}

printf("第10次落地时共经过%f米\n",sn);

printf("第10次反弹%f米.\n",hn);

}

15、冒泡

#include

voidmain()

{

inta[10];

inti,j,t;

printf("input10numbers:

\n");

for(i=0;i<=9;i++)

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

printf("\n");

for(j=0;j<=9;j++)

for(i=0;i<9-j;i++)

if(a[i]>a[i+1])

{t=a[i];

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

a[i+1]=t;

}

printf("thesortednumbers:

\n");

for(i=0;i<=9;i++)

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

printf("\n");}

16、对角线

#include

voidmain()

{

floata[3][3],sum=0;

inti,j;

printf("请输入矩阵图\n");

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

for(j=0;j<=2;j++)

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

printf("\n");

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

for(j=0;j<=2;j++)

if(i+j==2||i==j)

sum=su

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

当前位置:首页 > 经管营销 > 经济市场

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

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