写在前面:
同学们,编程真的很有趣,当你绞尽脑汁编出了一道难题时。在经过编译,连接,点击运行后,屏幕上终于显示了正确的答案与格式,从心中油然而生的一种成就感十分的美妙。下面的那些程序都是我自己编程、调试后没有任何错误,并能得到正确的结果才发布的,若有任何疑问可以联系本人。因本人能力有限,有所纰漏在所难免,望大家批评指正!
课后习题
P67 3.7 要将“China”译成密码,密码规律是:用原来的字母后面第四个字母代替原来的字母。例如,字母“A”后面第四个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre”。请编一程序,用初赋值的方法使c1、c2、c3、c4、c5这五个变量的值分别为‘C’、‘h’、‘i’、‘n’、‘a’,经过运算,使c1、c2、c3、c4、c5分别变为‘G’、‘l’、‘m’、‘r’、‘e’,并输出。
#include
void main()
{char c1,c2,c3,c4,c5;
c1='C',c2='h',c3='i',c4='n',c5='a';
printf("%c,%c,%c,%c,%c\n",c1+4,c2+4,c3+4,c4+4,c5+4);}
P89 4.8 设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。用scanf输入数据,输出计算结果,输出时按要求有文字说明,取小数点后两位数字。
#include
void main()
{float r,d,s,sq,v,vd,h;
printf("请输入半径r与圆柱高h\n");
scanf("%f,%f",&r,&h);
d=2*r*3.14;
s=3.14*r*r;
sq=4*3.14*r*r;
v=(4*3.14*r*r*r)/3;
vd=2*3.14*r*h;
printf("周长为%5.2f\n圆面积为%5.2f\n球表面积为%5.2f\n球体积为%5.2f\n圆柱体积为%5.2f\n",d,s,sq,v,vd);}
P89 4.9 输入一个华氏温度,要求输出摄氏温度。公式为:c=(5*(f-32))/9。
输出时要有文字说明,取2位小数。
#include
void main()
{float c,f;
printf("请输入华氏温度f\n");
scanf("%f",&f);
c=(5*(f-32))/9;
printf("当华氏温度为%5.2f时,摄氏温度为%5.2f\n",f,c);} P111 5.4 有三个整数a,b,c,由键盘输入,输出其中最大的数。
#include
void main()
{int a,b,c,temp;
printf("请输入三个整数a,b,c\n");
scanf("%d,%d,%d",&a,&b,&c);
if(a>b)
{temp=a;
if(a>c)
;
else if(c>a)
temp=c;}
else if(b>a)
{temp=b;
if(b>c)
;
else if(c>b)
temp=c;}
printf("%d\n",temp);}
P111 5.5 有一个函数 {x x<1
y={2x-1 1<=x<10
{3x-11 x>=10
写一段程序,输入x值,输出y值。
#include
void main()
{float x,y;
printf("请输入x的值\n");
scanf("%f",&x);
if(x<1)
y=x;
else if(x>=1&&x<10)
y=2*x-1;
else if(x>=10)
y=3*x-11;
printf("%f\n",y);}
P111 5.6 给出一个百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’‘E’。90分以上为‘A’,80-89分为‘B’,70-79分为‘C’,60-69分为‘D’,60分一下为‘E’。
#include
void main()
{float score;
printf("请输入分数score\n");
scanf("%f",&score);
if(score>=90)
printf("A\n");
else if(score>=80&&score<90)
printf("B\n");
else if(score>=70&&score<80)
printf("C\n");
else if(score>=60&&score<70)
printf("D\n");
else if(score<60)
printf("E\n");}
P112 5.7 给一个不多于5位的正整数,要求:
①求出它是几位数;
②分别求出每一位数字
③按逆序输出每一位数字
#include
void main()
{int x;
printf("请输入一个不超过五位的正整数\n");
scanf("%d",&x);
if(x/10000>=1&&x/10000<10)
{printf("位数为5\n");
printf("%d,%d,%d,%d,%d\n",x/10000,x%10000/1000,x%1000/100,x%100 /10,x%10);
printf("%d,%d,%d,%d,%d\n",x%10,x%100/10,x%1000/100,x%10000/1000,
x/10000);}
else if(x/1000>=1&&x/1000<10)
{printf("位数为4\n");
printf("%d,%d,%d,%d\n",x/1000,x%1000/100,x%100/10,x%10);
printf("%d,%d,%d,%d\n",x%10,x%100/10,x%1000/100,x/1000);}
else if(x/100>=1&&x/100<10)
{printf("位数为3\n");
printf("%d,%d,%d\n",x/100,x%100/10,x%10);
printf("%d,%d,%d\n",x%10,x%100/10,x/100);}
else if(x/10>=1&&x/10<10)
{printf("位数为2\n");
printf("%d,%d\n",x/10,x%10);
printf("%d,%d\n",x%10,x/10);}
else if(x/1>=0&&x/1<10)
{printf("位数为1\n");
printf("%d\n",x);
printf("%d\n",x);}}
P112 5.8企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
#include
void main()
{float i,bouns;
printf("请输入利润i\n");
scanf("%f",&i);
if(i<=100000)
bouns=i*0.1;
else if(i>100000&&i<=200000)
bouns=100000*0.1+(i-100000)*0.075;
else if(i>200000&&i<=400000)
bouns=200000*0.1+(i-200000)*0.05;
else if(i>400000&&i<=600000)
bouns=400000*0.1+(i-400000)*0.03;
else if(i>600000&&i<=1000000)
bouns=600000*0.1+(i-600000)*0.015;
else if(i>1000000)
bouns=1000000*0.1+(i-1000000)*0.01;
printf("应发奖金总数为%10.2f\n",bouns);}
P112 5.9 输入4个整数,要求按由小到大的顺序输出
#include
void main()
{int a,b,c,d,t;
printf("请输入四个数字a,b,c,d\n");
scanf("%d,%d,%d,%d",&a,&b,&c,&d);