C语言程序设计答案(第三版)杜友福版[优质文档] 联系客服

发布时间 : 星期二 文章C语言程序设计答案(第三版)杜友福版[优质文档]更新完毕开始阅读726796e33d1ec5da50e2524de518964bce84d272

if(a<60) m=1; else if(a<70) m=2;

else if(a<80) m=3;

else if(a<90) m=4; else m=5; 方法1

#include void main() {

int a,m;

scanf(\ switch(a/10) {

case 0:case 1:case 2:case 3:

case 4:case 5:m=1;break; case 6:m=2;break; case 7:m=3;break; case 8:m=4;break; default:m=5;break; }

printf(\}

方法2

#include void main() {

int a,m;

scanf(\m=0;

switch(a/10) {

default:m++; case 8:m++; case 7:m++; case 6:m++;

case 5:case 4:case 3:case 2: case 1:case 0:m++; }

printf(\}

2. 编写程序,从键盘输入一个整数,打印出它是奇数还是偶数。 #include void main() {

int a;

scanf(\ if(a%2==1)

printf(\ else

printf(\}

3. 编写程序,从键盘输入一个字符,判别它是否是小写字母,如果是,将它转换为大写字母;如果不是,不转换。然后输出最后得到的字符。 #include void main() {

char ch;

scanf(\ if(ch>='a' && ch<='z') ch=ch-32; printf(\}

4. 编写程序,从键盘输入一个不多于4位的正整数,打印出它是几位数。 #include void main() {

int x,n;

scanf(\ if(x>1000) n=4;

else if(x>100) n=3; else if(x>10) n=2; else n=1; printf(\}

5. 当一个人的月收入在3500元以下时免税;月收入在3500元到5000元之间时,超过3500的部分纳税3%;月收入在5000元以上时,3500至5000之间的部分纳税3%,超过5000的部分纳税10%。编写程序从键盘输入月收入income,计算并输出应交税款tax。 #include void main() {

int income; float tax;

scanf(\ if(income<=3500) tax=0;

else if(income<=5000) tax=0.03*(income-3500);

else tax=0.03*(5000-3500)+0.10*(income-5000); printf(\}

6. 回文是指正读和反读都一样的数或字符串。例如:12321、55455、35553等都是回文。请编写一个程序,从键盘上读取一个包含五位数字的长整数,并判断它是否是回文。(提示:用除法运算和求余运算把一个数的个位、十位、百位、千位等分别分离出来。) #include void main() {

long x;

int a,b,d,e;

scanf(\a=x/10000;

b=x000/1000; d=x0/10; e=x;

if(a==e && b==d)

printf(\ else

printf(\}

习题五 一、阅读题 1. 8 2. 4321 3. X 4. -1 5. 23 6. 52 7. 5 8. 3

二、填空题 1. 18 2. 2 3. b=i+1 4. 17

5. i<=9 、 j%3!=0

6. d=1.0 、 k=k+1 、 k<=10

三、选择题

1~8:A D D A B D D A

四、编程题

1. 编写程序,打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方之和等于该数本身。例如,407是一个“水仙花数”,因为407=43+03+73。(注:若

将题意改为打印出最大的或最小的“水仙花数”,则应将循环语句作如何调整?)。 #include void main() {

int a,b,c,k;

for(k=100;k<=999;k++)

//求最大的“水仙花数”改用:for(k=999;k>=100;k--) {

a=k/100;b=k/10;c=k;

if(k==a*a*a+b*b*b+c*c*c) { printf(\

//求最大或最小”水仙花数”时增加一个语句:break; } }

printf(\}

2. 编写程序,输出1980~2880年所有闰年的年号。每输出5个年号换一行。 #include void main() {

int k,flag,n=0;

for(k=1980;k<=2880;k++) {

flag=(k%4==0)&&(k0!=0)||(k@0==0); if(flag) { printf(\ n++; if(n==0) printf(\ } }

printf(\}

3. 编写程序,求1-3+5-7+…-99+101的值。 #include void main() {

int n,t=1,s=1;

for(n=3;n<=101;n+=2) { t=-t; s=s+t*n; } printf(\}