C语言程序设计实训教程习题和实验解答Word文档格式.docx
- 文档编号:16829177
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:96
- 大小:68.62KB
C语言程序设计实训教程习题和实验解答Word文档格式.docx
《C语言程序设计实训教程习题和实验解答Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实训教程习题和实验解答Word文档格式.docx(96页珍藏版)》请在冰豆网上搜索。
b);
c=a/b;
d=a%b;
printf(“%d,%d”,c,d);
3.输入三个学生的成绩,求这三个学生的总成绩和平均成绩。
inta,b,c,sum;
floataverage;
printf(“pleaseinputstudents’score:
”);
scanf(“%d,%d,%d”,&
b,&
c);
sum=a+b+c;
average=sum/3.0;
printf(“sum=%d,average=%f\n”,sum,average);
2.【实验解答】
1.c=10
2.①程序功能为输入两个数,求两数的差
②c=10
3.#include<
inta,b
c;
a=b=5
;
c=a+b
printf(“a+b=%d”,c)
4.运行结果i=8,j=10,m=9,n=10,u=9,v=-10(回车)
5.x=16,y=24,z=24
6.①10068
②10068
dD
③10068
④120112
xp
⑤出错
⑥304321
0A
7.编写一个C程序,输入a,b,c三个整数,求这三个数之和。
具体要求:
1)在TurboC环境或其他编译环境下编辑该程序,然后进行编译连接。
2)运行该程序,检查你所编写的程序是否正确。
{
scanf(“%d,%d,%d”,&
sum=a+b+c;
printf(“sumis:
%d\n”,sum);
顺序结构程序设计
1.B2.C3.A4.A5.D6.B
1.y=2
2.□□6□□6□6.00□6.00(□表示空格)
3.k=11,k8=13,k16=b。
4.!
□□□!
□□□□□□□□□□ahpu
ahpu□□□□□□□□□□□
5.5,4,c=3
6.i=56,j=789.000000,x=12345.000000,y=a,c=72
1.已知x=3.2,y=7,z=2,计算y/3*x-2的值。
#include<
floatx=3.2;
inty=7,z=2;
printf(“%f”,y/3*x-2);
2.输入一个华氏温度,要求输出摄氏温度(结果保留2位)。
公式为c=5/9*(f-32)。
floatf,c;
scanf(“%f”,&
f);
c=5.0/9*(f-32);
printf(“c=%.2f”,c);
3.从键盘输入一个小写字母,用大写形式输出该字母。
chara,b;
printf(“pleaseinputalittleletter:
scanf("
%c"
&
a);
b=a-32;
printf("
b);
4.把16进制数12a以10进制形式输出。
inta=0x12a;
printf("
%d"
a);
5.输入两个整数,将其值交换。
inta,b,t;
a=%d,b=%d"
t=a;
a=b;
b=t;
a,b);
实验名称顺序结构程序设计
1.②结果为0,因为a,b被定义为实型,而却以整型输入,类型不匹配。
2.错误之处:
s=3/(a+b)*(a+b);
应改为:
s=3.0/((a+b)*(a+b));
3.运行结果-1,177777,ffff,65535
b=-2
4.编程并上机调试运行
1)设圆半径为r=1.5,求圆周长、面积。
要求用scanf函数输入数据,输出时取小数点后两位。
{
floatr,l,s,v;
scanf("
%f"
r);
l=2*3.14*r;
s=3.14*r*r;
l=%.2f,s=%.2f,v=%.2f"
l,s);
2)输入一个3位十进制整数,分别输出百位、十位以及个位上的数。
inta,b,c,d;
scanf("
b=a/100;
c=a/10%10;
d=a%10;
printf("
%d%d%d"
b,c,d);
3)从键盘输入一个带2位的实数,将其整数部分和小数部分分离后输出。
例如:
输入321.54,输出321.54=321+0.54。
inta;
floatb,c;
a=(int)b;
c=b-a;
%.2f=%d+%.2f"
b,a,c);
4)用getchar函数读入两个字符,然后分别用putchar和printf函数输出这两字符。
chara,b;
a=getchar();
b=getchar();
putchar(a);
putchar(b);
\n%c%c"
选择结构程序设计
1.A。
2.D。
3.A。
4.B。
5.C。
6.A。
1.(x>
20&
&
x<
30)||x<
-100。
2.1,0,0。
3.585858。
4.20,0。
5.2。
6.a=3,b=2。
1.要求输入三个数,输出其中最大值。
inta,b,c,max;
%d%d%d"
max=a;
if(max<
b)max=b;
c)max=c;
maxis:
%d\n"
max);
2.由键盘输入3个数,若输入的这3个数可以构成三角形,则计算以这3个数为边长的三角形周长;
如果不能,则输出提示错误信息。
floata,b,c,l;
pleaseinputa,b,c\n"
);
%f,%f,%f"
if((a+b)>
c&
(a+c)>
b&
(b+c)>
a)
{
l=a+b+c;
l=%f\n"
l);
}
else
Itisnottriangle!
\n"
3.从键盘上输入一个整数判断其奇偶以及正负。
#include"
stdio.h"
inta;
if(a>
0)
{
if(a%2==0)printf("
ItisPLUSevennumber"
else
ItisPLUSoddnumber"
}
elseif(a<
ItisMINUSevennumber"
ItisMINUSoddnumber"
}
ItisZERO"
4.判断方程ax2+bx+c=0的根的个数。
inta,b,c;
if(b*b-4*a*c>
0)printf("
2"
elseif(b*b-4*a*c==0)printf("
1"
elseprintf("
0"
5.从键盘输入表示年份的整数,判断是否为闰年。
intyear;
year);
if((year%400==0)||(year%4==0&
year%100!
=0))
Itisrunnian"
Itisnotrunnian"
实验名称选择结构程序设计
1.if(‘0’<
=c&
c<
=’9’)
if((‘A’<
=’Z’)||(’a’<
=’z’))
else
2.编程并上机调试运行
1)给出一个不多于4位的正整数,求它是几位数?
intn;
Inputanum(0<
num<
10000)"
n);
if(n<
10)printf("
1\n"
100)printf("
2\n"
1000)printf("
3\n"
4\n"
2)给出一个百分制成绩,要求输出成绩等级’A’、’B’、’C’、’D’、’E’。
90分及以上为’A’,80~89为’B’,70~79为’C’,60~69为’D’,60以下为’E’。
用switch语句来实现。
intscore;
score);
if(score<
0||score>
100)
Error!
"
score=score/10;
switch(score)
case10:
case9:
A\n"
break;
case8:
B\n"
case7:
C\n"
case6:
D\n"
default:
E\n"
3)输入四个数,要求按从大到小顺序输出。
inta,b,c,d,t;
%d%d%d%d"
c,&
d);
if(a<
b){t=a;
a=b;
b=t;
c){t=a;
a=c;
c=t;
d){t=a;
a=d;
d=t;
if(b<
c){t=b;
b=c;
d){t=b;
b=d;
if(c<
d){t=c;
c=d;
%d,%d,%d,%d\n"
a,b,c,d);
4)输入3个整数,将最大数与最小数输出。
inta,b,c,t;
intmax,min;
max=min=a;
b)
max=b;
min=b;
if(max<
min=c;
max=%d,min=%d"
max,min);
5)输入一个字符,如果是数字字符,把它转换成相对应的数字并输出;
如果不是,则以带符号的十进制整数形式输出。
chara;
='
0'
a<
9'
)
a=a-'
循环结构程序设计
1.A2.A3.C4.B5.C6.C
1.18或19
2.0
3.8921
4.3,4
5.35
6.4
1.设计程序计算并输出1+
+
+……+
inti;
floats=0;
for(i=1;
i<
=99;
i+=2)
s=s+1.0/i;
printf(“s=%f\n”,s);
2.编写程序输出下面图形
1
21
321
4321
54321
inti,j;
for(j=5;
j>
=1;
j--)
=j-1;
i++)
printf(““);
for(;
=5;
printf(“%d”,5-i+1);
printf(“\n”);
3.一球从100m高度自由落下,每次落地后又反跳原高度的一半,再下落。
求在第10次落地时,共经多少米?
第10次反弹高度?
floats=100,m=100,i;
for(i=2;
=10;
m=m/2;
s=s+m*2;
printf(“No.10drop’salldistanceis=%f\n”,s);
printf(“No.10up’sdistanceis=%f”,m/2);
4.输入两个整数求其最大公约数。
intm,n,i,t;
%d%d"
m,&
if(m<
n)
t=n;
n=m;
m=t;
i=n;
while((m%i!
=0)||(n%i!
i=i-1;
i);
5.输入一个正整数,将其逆序输出。
{intm,n;
while(n!
=0)
m=n%10;
n=n/10;
m);
实验名称循环结构程序设计
1.1)%1ds=0i+=2
2)s=0ldi<
=2*n-1i+=2
3)s=0,n,i=1i+=2while(i<
=2*n-1);
2.编程并上机调试运行
1)编程求1!
+2!
+3!
+…+10!
longs=1,i,t=1;
{
t=t*i;
s=s+t;
%ld"
s);
2)打印以下图案
inti,j;
for(i=1;
=4;
{
for(j=1;
j<
4+i;
j++)
{if(i+j<
5)
"
*"
=3;
=7-i;
{if(i>
=j)
3)猴子吃桃。
猴子第一天摘若干桃子,当即吃了一半,又加一个。
第二天吃了剩下桃子一半又多一个。
以后每天早上都吃前一天剩下的一半多一个。
第十天,只剩一个。
问第一天共摘多少个桃子。
ints=1,i;
s=(s+1)*2;
4)打印九九乘法表
=9;
for(j=1;
=i;
%d*%d=%d"
i,j,i*j);
if(i==j)
5)输出10-100之间的全部素数。
for(i=10;
=100;
for(j=2;
if(i%j==0)
if(i==j)
%d"
break;
实验名称综合运用三种基本结构进行程序设计
1.百马百担。
100匹马,驮100担,大马3担,中马2担,2个小马驮1担。
问大、中、小马各多少?
inti,j,k;
for(i=0;
=33;
for(j=0;
=50;
k=100-i-j;
if(3*i+2*j+k/2.0==100)
printf(“Da=%d,Zhong=%d,Xiao=%d\n”,i,j,k);
2.输入一行字符,分别统计其中英文字母、空格、数字和其它字符个数。
charc;
intletter=0,space=0,digtal=0,other=0;
while((c=getchar())!
=‘\n’)
if((c>
=‘A’&
=‘Z’)||(c>
=‘a’&
=‘z’))
letter++;
elseif(c==‘‘)
space++;
elseif(c>
=‘0’&
=‘9’)
digtal++;
else
other++;
printf(“letter=%d,space=%d,digtal=%d,other=%d”,letter,space,digtal,other);
3.打印输出”水仙花数”。
”水仙花数”是指一个3位,其各位数字的立方和等于该数本身。
153。
#include<
for(k=0;
k<
k++)
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
printf(“%d\n”,i*100+j*10+k);
4.将一个正整数分解成质因数的乘积。
输入90,打印90=2*3*3*5。
intn,i=2;
scanf(“%d”,&
printf(“%d=“,n);
while(n>
1)
if(n%i==0)
printf(“%d*”,i);
n=n/i;
elsei++;
printf(“\b“);
5.利用循环语句编写程序:
对一个正整数,将各位数字反序后的数组成一个整数输出。
例如:
输入12345,输出54321。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 教程 习题 实验 解答