C语言程序设计习题参考答案文档格式.docx
《C语言程序设计习题参考答案文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计习题参考答案文档格式.docx(65页珍藏版)》请在冰豆网上搜索。
和最小的数并输出。
3.求1+2+3+…+100的值。
4.求1×
2×
3×
…×
10的值。
5.求下列分段函数的值。
6.求100~200之间的所有素数。
7.求一元二次方程ax2+bx+c=0的根。
分别考虑d=b2-4ac大于0、等于0和小于0三种情况。
四、注释下面C程序的各个组成部分。
main()/*主函数*/
{/*程序开始*/
inta,k,m;
/*定义三个用来存放整数的变量*/
a=10;
/*将整数10赋值给变量a*/
k=2;
/*将整数2赋值给变量k*/
m=1;
/*将整数1赋值给变量1*/
a=(k+m)*k/(k-m);
/*先求出算术表达式的值,并将其赋值给变量a*/
printf("
%d\n"
a);
/*在屏幕上打印出变量a的值*/
}/*程序结束*/
习题二数据类型、运算符与表达式
一、选择题
1~10:
BCDCBDDBCA
11~20:
ADDAADBADC
21~28:
DABADCDD
二、填空题
1.字母L或字母l
2.字符或%c、整数或%d
3.在程序运行过程中,其值可以在一定的范围内变化的量。
4.‘\0’
5.小数形式、指数形式
6.关键字、预定义标识符、用户标识符
7.字母、数字、下划线、数字
8.18
9.2、1、30
10.双精度实数或double
11.赋值、逗号、20、20、20、4
12.4
习题三顺序程序设计
BCCBCCCDCC
二、填空题
1.printf()、scanf()
2.l(注:
long的第1个字符)
3.域宽,即在格式字符前加一个整数,如%5d
4.‘\0’
5.e、g
6.6
7.s、c
8.*
9.-、+
10.i
三、编程题
1.编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后进
行输出。
例如输入的时间为4258秒,则输出结果为:
1小时10分58秒。
程序参见文件Cprogram\xt3_3_01.c
#include"
stdio.h"
main()
{intx,h,m,s;
scanf("
%d"
&
x);
h=x/3600;
m=x%3600/60;
s=x%60;
%ds=%d:
%d:
%d!
\n"
x,h,m,s);
}
2.编写程序,读入三个整数给变量a、b、c,然后交换它们中的数,把a中原来的值给b,
把b中原来的值给c,把c中原来的值给a。
程序参见文件Cprogram\xt3_3_02.c
{inta,b,c,t;
inputabc:
"
);
%d%d%d"
a,&
b,&
c);
a=%d,b=%d,c=%d\n"
a,b,c);
t=a;
a=c;
c=b;
b=t;
习题四选择结构程序设计
一、填空题
1.1、0
2.!
%+<
=!
=&
&
||=
3.x==0
4.0,2
5.20、0、0
二、选择题
1~7:
DDCADDC
三、程序阅读题
1.
2.0.
3.1
4.2
5.6
6.a=2,b=1
7.pass
warn
8.1
四、编程题
1.设a为整型变量且其值大于零,请将以下if语句改写成switch语句。
if(a<
60)m=1;
elseif(a<
70)m=2;
80)m=3;
90)m=4;
elsem=5;
程序参见文件Cprogram\xt4_4_1.c或Cprogram\xt4_4_1b.c
{inta,m;
a);
switch(a/10)
{case0:
case1:
case2:
case3:
case4:
case5:
break;
case6:
m=2;
case7:
m=3;
case8:
m=4;
default:
m=5;
}
m=%d\n"
m);
Cprogram\xt4_4_1b.c
m=0;
{default:
m++;
case5:
case4:
case1:
case0:
2.编写程序,从键盘输入一个整数,打印出它是奇数还是偶数。
程序参见文件Cprogram\xt4_4_2.c
{inta;
if(a%2==1)
%disaoddnumber!
else
%disaevennumber!
3.编写程序,从键盘输入一个字符,判别它是否是小写字母,如果是,将它转换为大写字母;
如果不是,不转换。
然后输出最后得到的字符。
程序参见文件Cprogram\xt4_4_3.c
{charch;
%c"
ch);
if(ch>
='
a'
&
ch<
z'
)
ch=ch-32;
%c\n"
ch);
4.编写程序,从键盘输入一个不多于4位的正整数,打印出它是几位数。
程序参见文件Cprogram\xt4_4_4.c
{intx,n;
if(x>
=1000)n=4;
elseif(x>
=100)n=3;
=10)n=2;
elsen=1;
n);
5.当一个人的月收入在2000元以下时免税;
月收入在2000元到5000元之间时,超过2000的部分纳税8%;
月收入在5000元以上时,2000至5000之间的部分纳税8%,超过5000的部分纳税15%。
编写程序从键盘输入月收入income,计算并输出应交税款tax。
程序参见文件Cprogram\xt4_4_5.c
{intincome;
floattax;
income);
if(income<
=2000)
tax=0;
elseif(income<
=5000)
tax=0.08*(income-2000);
tax=0.08*(5000-2000)+0.15*(income-5000);
tax=%f\n"
tax);
6.回文是指正读和反读都一样的数或字符串。
例如:
12321、55455、35553等都是回文。
请编写一个程序,从键盘上读取一个包含五位数字的长整数,并判断它是否是回文。
(提示:
用除法运算和求余运算把一个数的个位、十位、百位、千位等分别分离出来。
程序参见文件Cprogram\xt4_4_6.c
{longx;
inta,b,d,e;
%ld"
a=x/10000;
b=x%10000/1000;
d=x%100/10;
e=x%10;
if(a==e&
b==d)
%ldishuiwen!
x);
else
%ldisnothuiwen!
习题五循环结构程序设计
一、阅读题
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:
ADDABDDA
1.编写程序,打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方之和等于该数本身。
例如,407是一个“水仙花数”,因为:
407=43+03+73。
(注:
若将题意改为打印出最大的或最小的“水仙花数”,则应将循环语句作如何调整?
)。
程序参见文件Cprogram\xt5_4_01.c
{inta,b,c,k;
for(k=100;
k<
=999;
k++)
//求最大的“水仙花数”改用:
for(k=999;
k>
=100;
k--)
{a=k/100;
b=k/10%10;
c=k%10;
if(k==a*a*a+b*b*b+c*c*c)
{printf("
%5d"
k);
//求最大或最小“水仙花数”时增加一个语句:
2.编写程序,输出从公元1980年至288