C语言实训题16章Word格式文档下载.docx
《C语言实训题16章Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言实训题16章Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
编写一个C程序,输入45,21,60三个数字,输出其中的最大者。
intmax(intx,inty,intz)
{
intm;
m=x>
y?
x:
y;
return(m>
z?
m:
z);
{intx,y,z;
%d"
x);
y:
scanf("
y);
z:
max=%d\n"
max(x,y,z));
2.6.1.1:
观察分析程序的结果,并与人工计算结果进行比较。
voidmain()
{charc1,c2;
c1=97;
c2=98;
%c%c\n"
c1,c2);
%d%d\n"
c1=c1-('
a'
-'
A'
2.6.2:
参照下列求圆面积与园周长的程序,编写已知圆半径、圆柱高,求圆周长和圆柱体积的程序。
#definepi3.1415926
{floatr,h,v,len;
r:
h:
h);
len=2*pi*r;
v=pi*r*r*h;
\nv=%f,length=%f"
v,len);
3.7.1:
编写程序,使得该程序运行后显示下面一首诗:
lifeisdearindeed,
loveispricelesstoo,butforfreedom'
ssake,Imaypartwiththetwo.
lifeisdearindeed,\nloveispricelesstoo,\nbutforfreedom'
ssake,\nImaypartwiththetwo."
3.7.2:
用格式控制符打印下面图形:
*****
*******
3.7.3:
编写程序,输入一个华氏温度(F),按下面的公式计算并输出对应的摄氏温度(C))计算公式为C=5(F-32)/9。
main()
{floatF,C;
printf("
F:
F);
C=5*(F-32)/9;
C=%f\n"
C);
getch();
4.5.1:
编写程序,输入一个日期,判断该日期是这一年的第几天
{intday,month,year,sum,leap;
\npleaseinputyear,month,day\n"
%d,%d,%d"
year,&
month,&
day);
switch(month)
case1:
sum=0;
break;
case2:
sum=31;
case3:
sum=59;
case4:
sum=90;
case5:
sum=120;
case6:
sum=151;
case7:
sum=181;
case8:
sum=212;
case9:
sum=243;
case10:
sum=273;
case11:
sum=304;
case12:
sum=334;
default:
dataerror"
sum=sum+day;
if(year%400==0||(year%4==0&
&
year%100!
=0))
leap=1;
else
leap=0;
if(leap==1&
month>
2)
sum++;
itisthe%dthday\n"
sum);
4.5.2:
编写程序,对于输入的三个数,将他们降序输出
main(){floatx,y,z,temp;
Pleaseinputthreenumber:
\n"
%f,%f,%f"
x,&
y,&
if(x>
y)
{temp=x;
x=y;
y=temp;
z)
x=z;
z=temp;
if(y>
{temp=y;
y=z;
thesequenceis:
%3.1f,%3.1f,%3.1f\n"
z,y,x);
4.5.4:
某大型电器公司在国庆节期间推出以下促销优惠活动:
当天所购商品价值在20000元以上(包括20000元)的顾客,将享受7.5折优惠;
当天所购商品价值在15000元以上(包括15000元)的顾客,将享受8折优惠;
当天所购商品价值在10000元以上(包括10000元)的顾客,将享受8.5折优惠;
当天所购商品价值在5000元以上(包括5000元)的顾客,将享受9折优惠;
其他顾客享受9.5折优惠。
编写实现该优惠活动的程序。
floatx;
floaty;
pleaseinputax:
if(x>
=20000)
{y=x*0.75;
elseif(x>
=15000)
{y=x*0.8;
=10000)
{y=x*0.85;
=5000){y=x*0.9;
}else{y=x*0.95;
}printf("
%f\n"
y);
4.5.5:
写出实现以下函数的对应程序,要求:
输入x,计算并输出函数y的值(保留两位小数)。
X+10,(x<
0)
Y=20,(x=0)
30x,(x>
0){y=x*30;
elseif(x<
{y=x+10;
{y=20;
4.5.10:
输入一个4位正整数,求出对应位的数字并输出,最后将千位和十位互换,百位和个位互换并输出(例:
输入1256,最后输出5612),其他输入提示
错误。
intx,y,a,b,c,d;
pleaseinputonenumber:
%i"
=1000&
x<
10000)
a=x%10;
%d\n"
a);
b=(x/10)%10;
b);
c=(x/100)%10;
d=(x/1000)%10;
d);
y=b*1000+a*100+d*10+c;
sorryERROR"
5.5.3.2:
编一程序输出如下图形:
1
121
12321
1234321
123454321
12345654321
{inti,j;
for(i=1;
i<
=6;
i++)
{for(j=1;
j<
=6-i;
j++)
"
for(j=1;
=i;
j);
for(j=i-1;
j>
=1;
j--)
从第
。
5.6.3:
设计程序输出Fibonacci数列的前50个数,其开始两个数是1、1三个数开始,每个数等于前两个数之和。
例如,1、1、2、3、5、8、13、/*HELLO.C--Hello,world*/
intmain()
longx[16]={0,1};
inti;
for(i=2;
16;
i++)x[i]=x[i-1]+x[i-2];
for(i=1;
i++)printf("
F%d=%d\n"
i,x[i]);
getch();
5.6.7:
用循环程序输出以下图案。
*
#inc