c程序设计课后习题答案详解Word文档下载推荐.docx
《c程序设计课后习题答案详解Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c程序设计课后习题答案详解Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
floatc,f;
请输入一个华氏温度:
scanf("
%f"
f);
c=(5.0/9.0)*(f-32);
摄氏温度为:
%5.2f\n"
c);
3、输入四个整数,按大小顺序输出.
{intt,a,b,c,d;
printf("
请输入四个数:
"
%d,%d,%d,"
c,&
d);
a=%d,b=%d,c=%d,d=%d\n"
a,b,c,d);
if(a>
{t=a;
a=b;
b=t;
a=c;
c=t;
d)
a=d;
d=t;
if(b>
{t=b;
b=c;
b=d;
\n排序结果如下:
\n"
%d%d%d%d\n"
4、有三个整数a,b,c,由键盘输入,输出其中最大的数.
{inta,b,c,termp,max;
请输入A,B,C:
"
A=%d,B=%d,C=%d\n"
a,b,c);
temp=(a>
b)?
a:
b;
max=(temp>
c)?
temp:
c;
A,B,C中最大数是%d,"
5、输入两个数,求最小公倍数.
{intm,n,i;
%d%d"
m,&
n);
for(i=m*n;
i>
=1;
i--)
{if((i%m==0)&
&
(i%n==0))break;
i);
6.输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数.
#include<
charc;
intletters=0,space=0,degit=0,other=0;
请输入一行字符:
while((c=getchar())!
='
\n'
)
if(c>
a'
c<
z'
||c>
'
A'
Z'
letters++;
elseif(c=='
'
space++;
elseif(c>
0'
9'
digit++;
else
other++;
其中:
字母数=%d空格数=%d数字数=%d其它字符数=%d\n"
letters,space,
digit,other);
7、水仙开花
inti,j,k,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)
%d\n"
n);
8、判断整数是否为素数
{intprime(int);
intnumber;
请输入一个正整数:
number);
if(prime(number))
\n%d是素数."
number);
else
\n%d不是素数"
intprime(intnumber)
intflag=1,n;
for(n=2;
number/2&
flag==1;
if(number%n==0)
flag=0;
return(flag);
9、}/*起泡法排序*/
#defineN10
charstr[N];
main()
inti,flag;
for(flag=1;
flag==1;
\n输入字符串,长度为10:
%s"
str);
if(strlen(str)>
N)
超过长度,请重输!
flag=0;
sort(str);
\n排序结果:
for(i=0;
i<
N;
i++)
%c"
str[i]);
sort(str)
inti,j;
chart;
for(j=1;
j<
j++)
for(i=0;
(i<
N-j)&
(str[i]!
\0'
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)
{
intyear;
\n请输入某一年:
year);
if(LEAP_YEAR(year))
%d是闰年.\n"
year);
%d不是闰年.\n"
/*用函数方法,从三个数中找出最大值*/
inta,b,c;
请输入三个整数:
三个之中最大值为:
max(a,b,c));
max(x,y,z)
intx,y,z;
intt;
t=(x>
y?
x:
y);
return(t>
z?
t:
z);
11、输入四个整数,按大小顺序输出.
Voidmain()
%d,%d,%d,%d"
\n\na=%d,b=%d,c=%d,d=%d\n"
if(c>
{t=c;
c=d;
12、设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积,用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后两位数字.请编程.
floatpi,h,r,l,s,sq,vq,vz;
pi=3.1415926;
请输入圆半径r圆柱高h:
%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;
圆周长为:
=%6.2f\n"
l);
圆面积为:
s);
圆球表面积为:
sq);
圆球体积为:
vz);
13、用筛选法求100之内的素数.
/*用筛选法求100之内的素数*/
math.h>
#defineN101
{inti,j,line,a[N];
for(i=2;
i++)a[i]=i;
sqrl(N);
for(j=i+1;
{if(a[i]!
=0&
a[j]!
=0)
if(a[j]%a[i]==0)
a[j]=0;
for(i=2,line=0;
{if(a[i]!
{printf("
%5d"
a[i]);
line++;
if(line==10)
line=0;
14、球反弹问题
floatsn=100.0,hn=sn/2;
intn;
=10;
sn=sn+2*hn;
/*第n次落地时共经过的米数*/
hn=hn/2;
/*第n次反跳高度*/
第10次落地时共经过%f米\n"
sn);
第10次反弹%f米.\n"
hn);
15、冒泡
inta[10];
inti,j,t;
input10numbers:
for(i=0;
=9;
a[i]);
for(j=0;
for(i=0;
9-j;
if(a[i]>
a[i+1])
{t=a[i];
a[i]=a[i+1];
a[i+1]=t;
thesortednumbers:
printf("
%d"
16、对角线
floata[3][3],sum=0;
inti,j;
请输入矩阵图\n"
=2;
for(j=0;
scanf("
a[i][j]);
if(i+j==2||i==j)
sum=su