程序设计基础c语言第三章程序结构教材习题答案科学出版社Word下载.docx
- 文档编号:19546927
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:14
- 大小:22.27KB
程序设计基础c语言第三章程序结构教材习题答案科学出版社Word下载.docx
《程序设计基础c语言第三章程序结构教材习题答案科学出版社Word下载.docx》由会员分享,可在线阅读,更多相关《程序设计基础c语言第三章程序结构教材习题答案科学出版社Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
,x+y,y+z,x+z);
printf("
u=%8un=%8u\n"
u,n);
c1='
%c'
or%d\n"
c1,c1);
c2,c2);
}
2.0读入三个双精度数,求出它们的平均值并保留此平均值小数点后二位,最后输出结果。
doublea,b,c,d;
请输入三个双精度数:
"
);
scanf("
%lf,%lf,%lf"
&
a,&
b,&
c);
d=(a+b+c)/3;
d=%.2lf"
d);
3.0编写一个程序,要求输入三个整数值a,b,c,把c中的值赋给b,把b中的值赋给a,把a中的值赋给c,最后输出a,b,c.
inta,b,c,t;
输入三个整数值:
%d,%d,%d"
t=a;
a=b;
b=c;
c=t;
a=%d,b=%d,c=%d\n"
4.0编写一个程序,要求输入一个华氏温度,输出对于的摄氏温度。
华氏温度与摄氏温度转换公式为:
c=5/9*(F-32).结果保留二位小数。
floatF;
floatC;
请输入一个华氏温度F="
%f"
F);
C=5.0/9.0*(F-32.0);
对应的摄氏温度C=%.2f\n"
C);
5.0编写一个程序,要求输入一个三位数,正确的分量出它的个位,十位,百位,并在屏幕显示出来
inta,a100,a10,a1;
请输入一个三位整数:
%d"
a);
if(100<
=a&
&
a<
=999)
{
a100=a/100;
a=a%100;
a10=a/10;
a1=a%10;
百位数是%d,十位数是%d,个位数是%d\n"
a100,a10,a1);
}
else
{printf("
输入的数据不是一个3位整数!
\n"
6.0编写一个程序,输入一个整数,输出它是奇数还是偶数
inta,b;
请输入一个整数:
b=a%2;
if(b==0)
偶数a=%d\n"
a);
奇数a=%d\n"
7.0
编写程序,输入x,对应输出Y值。
intx,y;
输入x值:
x);
if(x<
1)
{y=x;
else
{if(1<
=x&
x<
10)
y=2*x-1;
else
y=3*x-11;
%d\n"
y);
8.0编写一个程序,要求由键盘输入3个数,判断它们是否能构成三角形的三边。
若能,请判断构成的是等腰,等边还是普通三角形。
math.h>
unsignedinti_a,i_b,i_c;
floatf_s;
请输入3个数作为三角形的三条边,中间用空格隔开:
%u%u%u"
i_a,&
i_b,&
i_c);
if((i_a+i_b)>
i_c&
(i_a+i_c)>
i_b&
(i_c+i_b)>
i_a)
{f_s=((float)(i_a+i_b+i_c))/2;
f_s=sqrt(f_s*(f_s-i_a)*(f_s-i_b)*(f_s-i_c));
该3个数可构成一个三角形,其面积是%.2f\n"
f_s);
if((i_a=i_b)&
(i_a=i_c))
{printf("
该三角形是等边三角形\n"
}
else
{if((i_a=i_b)||(i_a=i_c)||(i_b=i_c))
{printf("
该三角形是等腰三角形\n"
}
else
该三角形是一般三角形\n"
该3个数不能构成一个三角形\n"
9.0编写程序,输入某年某月,求该月有多少天。
unsignedinti_Year,i_Month;
chari_Days;
请输入年月,中间用空格隔开:
%u%u"
i_Year,&
i_Month);
if(1<
=i_Month&
i_Month<
=12)
{switch(i_Month)
{case1:
case3:
case5:
case7:
case8:
case10:
case12:
i_Days=31;
break;
case4:
case6:
case9:
case11:
i_Days=30;
case2:
if(i_Year%4==0&
i_Year%100!
=0||i_Year%400==0)
i_Days=29;
else
i_Days=28;
%d年%d月是%d天\n"
i_Year,i_Month,i_Days);
月只能是1~12,输入错误,无法计算"
10.0编写程序,对给定的一个百分制成绩,输出对于的五分制成绩,设90分以上为A,80到89分为B,70到79分为C,60到69为D,60分以下为E,用IF和switch语句分部实现。
inti_a;
//成绩
inti_grade;
//成绩等级
请输入成绩:
i_a);
用if语句判断的等级是:
if(i_a>
=90)
A"
{if(80<
=i_a&
i_a<
=89)
B"
{if(70<
=79)
C"
{if(60<
=69)
{printf("
D"
}
E"
用switch语句判断的等级是:
i_grade=i_a/10;
switch(i_a/10)
{case10:
case9:
printf("
break;
case8:
case7:
case6:
default:
11循环输入若干个数据,以-1表示输入结束,计算输入的这些数据平均值。
inta;
//记录当前输入的数
intnum;
//记录当前输入的数据个数
intsum;
//记录当前所有数据的和
floataverage;
//记录平均值
//赋初值
sum=0;
num=0;
//输入开始
输入一组整型数据,如果输入的数据是-1,则说明该组数据输入完成,下面开始输入\n"
while(a!
=-1)
{num++;
sum=sum+a;
//输入结束
//计算和输出
if(num==0)
没有输入数据,无平均数!
{average=(float)sum/(float)num;
//强制int转换为float,然后计算,如果不要强制转换,即average=sum/num,你可试一试,看结果有什么不同
输入了%d个数据,其平均数是:
%.2f\n"
num,average);
12编程计算1+2+3+4+……n的值超过500的第一个和值为多少;
n的值为多少。
inti_n;
inti_sum;
//记录和
//每行最多输出10个水仙花数
i_sum=0;
i_n=0;
while(i_sum<
=500)
{i_n++;
i_sum=i_sum+i_n;
1+2+3+4+...+n的值超过500的第1个和值=%d,n=%d\n"
i_sum,i_n);
13计算出公式1!
+2!
+3!
+……10!
的值
inti_a,i_b;
inti_jc;
//记录某个数的阶乘
for(i_a=1;
i_a<
=10;
i_a++)
{//计算某个数i_a的阶乘
i_jc=1;
for(i_b=1;
i_b<
=i_a;
i_b++)
{i_jc=i_jc*i_b;
}//阶乘计算完毕
i_sum=i_sum+i_jc;
//计算和
1!
+2!
+3!
+4!
+5!
+6!
+7!
+8!
+9!
+10!
=%d"
i_sum);
14输出所有的水仙花数,所谓的水仙花数,是指一个三位数,其各位数字的立方和等于它本身。
列如153是一个水仙花数,因为153=1^3+5^3+3^3.
解法一
inti_100,i_10,i_1;
//记录3位数的各位数字
inti_num;
//记录水仙花数的个数
i_num=0;
for(i_100=1;
i_100<
=9;
i_100++)
{for(i_10=0;
i_10<
i_10++)
{for(i_1=0;
i_1<
i_1++)
if((i_100*100+i_10*10+i_1)==(i_100*i_100*i_100+i_10*i_10*i_10+i_1*i_1*i_1))
{//此时形成了一个水仙花数
printf("
%d"
i_100*100+i_10*10+i_1);
i_num++;
if((i_num%10)==0)
{//已输出了10个倍数的水仙花数,下一个另起一行
printf("
\n共有%d个水仙花数"
i_num);
15利用循环,在屏幕上输出如下图案
inti_Rows;
//输出上三角*的行数
inti_Row;
//当前输出的第几行
inti_Blanks;
//第i_Row行需输出的空格数
inti_Blank;
//第i_Row行当前输出的第几个空格
inti_Starts;
//第i_Row行需输出的*个数
inti_Start;
//第i_Row行当前输出的第几个*
请输入上三角的行数:
i_Rows);
//输出上三角
for(i_Row=1;
i_Row<
=i_Rows;
i_Row++)
{i_Blanks=i_Rows-i_Row;
//计算第i_Row需输出的空格数
i_Starts=(i_Row-1)*2+1;
//计算第i_Row需输出的*数
//输出第i_Row的空格
for(i_Blank=1;
i_Blank<
=i_Blanks;
i_Blank++)
%c"
'
'
}//空格输出完毕
//输出第i_Row的*
for(i_Start=1;
i_Start<
=i_Starts;
i_Start++)
*'
}//*输出完毕
//一行输出完毕,换行
}//上三角输出完毕
//输出下三角
i_Rows=i_Rows-1;
//下三角比上三角少一行
{i_Blanks=i_Row;
i_Starts=(i_Rows-i_Row)*2+1;
}//下三角输出完毕
}
16输入二个整数M,N,计算它们的最大公约数和最小公倍数。
{//统计任意位数的水仙花数
inti_m,i_n;
//两个数据
inti_max;
//最大公约数
inti_min;
//最小公倍数
请输入两个数据,用逗号分隔:
%d,%d"
i_m,&
i_n);
//求最大公约数
i_max=i_m;
if(i_m>
i_n)
i_max=i_n;
i_max=i_m;
while((i_m%i_max)!
=0||(i_n%i_max)!
=0)
{i_max--;
}//最大公约数求解完毕
//求最小公倍数
i_min=i_m;
i_min=i_n;
while((i_min%i_m)!
=0||(i_min%i_n)!
{i_min++;
}//最小公倍数求解完毕
最大公约数=%d,最小公倍数=%d"
i_max,i_min);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 语言 第三 章程 结构 教材 习题 答案 科学出版社