C语言程序设计答案杜友福版 下载本文

{ 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=*(income-3500); else tax=*(5000-3500)+*(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= 、 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++)

编写程序,输出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(\ }

4. 编写程序,计算并输出下列级数的前n项之和Sn。n的值从键盘输入。

#include <> void main() {

int fz,fm,n,i; float s,t; fz=2;fm=1;s=0;