实验二选择结构程序设计实验报告Word文档格式.docx
- 文档编号:20604677
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:19
- 大小:19.42KB
实验二选择结构程序设计实验报告Word文档格式.docx
《实验二选择结构程序设计实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验二选择结构程序设计实验报告Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
=0){
b=b;
}
else{
b=-b;
z=a+b;
printf("
%d+%d=%d\n"
a,b,z);
return0;
}
2判断一个整数是否可以被3和5整除
inta;
printf("
Pleaseentera:
scanf("
%d"
a);
if(a%3==0){
a可以被3整除:
else{
if(a%5==0){
a可以被5整除:
else{
a不可以被5整除,也不可以被3整除:
}
3.从键盘输入一个字符型数据,若输入一个数字字符('
0'
-'
9'
),则将其转换成相应的整数显示出来;
若输入其它字符,则显示出错信息。
pleaseenterachar:
if((0<
=a)&
&
(a<
=9))
{
Thischaris%d:
a);
这个字符不是个整数:
return0;
4.编写一个程序,其功能为:
从键盘输入三个数x、y、z,判断x+y=z是否成立,若成立输出“x+y=z”的信息,否则输出“x+y!
=z”的信息。
intx,y,z;
printf("
请输入x,y,z:
scanf("
%d,%d,%d"
x,&
y,&
z);
if(x+y==z)
printf("
x+y=z\n"
x+y!
=z\n"
return0;
5.编写一个程序,其功能为:
输入三个整数,输出最大数和最小数。
inta,b,c,x,y;
请输入三个数字:
b,&
c);
x=0;
if(a>
b)
x=a;
if(x>
c)
x=x;
x=c;
else
x=b;
if(x>
y=0;
if(a<
y=a;
if(y<
y=y;
y=c;
if(y>
printf("
最大数是%d,最小值是%d\n"
x,y);
return0;
6.如下两个线性方程组的两个未知数为x1和x2:
ax1+bx2=m
cx1+dx2=n
该方程的唯一解为(ad-cb不等于零时):
请编写一个程序,读取a、b、c、d的值,计算x1和x2的值。
如果ad-cd等于零,应给出适当的提示信息。
inta,b,c,d,m,n,x1,x2;
请输入方程组a,b,c,d,m,n\n"
%d,%d,%d,%d,%d,%d"
c,&
d,&
m,&
n);
if(a*d-c*b==0)
此方程组无解\n"
x1=(m*d-b*n)/(a*d-c*b);
x2=(n*a-m*c)/(a*d-b*c);
此方程组的解为%d和%d\n"
x1,x2);
7.某产品生产成本c=c1+mc2,其中c1为固定成本,c2为单位产品可变成本。
当生产数量m<
10000时,c1=20000元,c2=10元;
当生产数量m≥10000时,c1=40000元,c2=5元;
编写一个程序,其功能为:
分别计算出生产数量为6000以及25000时,总生产成本及单位生产成本。
intc,c1,c2,m;
请输入生产数量m:
m);
if(m<
10000)
c1=20000;
c2=10;
c1=40000;
c2=5;
c=c1+m*c2;
生产成本为%d\n"
c);
8.编写一个程序,计算下列函数:
y=
x
x<
1
2x-1
1≤x<
10
3x-11
X≥10
intx,y;
Plesseinputax:
x);
if(x<
1)
{y=x;
if(x>
=10)
{y=3*x-11;
else
{y=2*x-1;
y=%d\n"
y);
9.编写一个程序,其功能为:
从键盘输入一个字符,判别该字符的类别,并输出向相应信息。
chari;
%c"
i);
if(i<
32)
{printf("
此字符为控制字符\n"
if((i>
='
)&
(i<
))
{printf("
此字符为数字字符\n"
{
if((i>
A'
Z'
{printf("
此字符为大写字母\n"
else
{
if((i>
a'
z'
{printf("
此字符为小写字母\n"
else
{
printf("
此字符为其他字符\n"
}
}
10.编写一个程序,其功能为:
从键盘输入一元二次方程ax2+bx+c=0的各项系数a、b、c的值,判断方程实数解的不同情况,分别求解方程,并输出(结果保留两位小数,如无实根给出相应的信息)。
应用如下规则:
(1)若a、b的值为零,则没有解;
(2)若a为零,只有一个实数解;
(3)若b2-4ac为负数,则没有实数解;
若b2-4ac为正数,有两个实数解;
若b2-4ac为零,有两个相等的实数解。
#include<
math.h>
floata,b,c;
doublex1,x2;
Pleaseinputa,b,c\n"
%f%f%f"
if((a==0)&
(b==0))
此方程没有解\n"
if(a==0)
printf("
此方程有一个实根\n"
{if((b*b-4*a*c)<
0)
此方程无实根\n"
if((b*b-4*a*c)==0)
{x1=((-b)/(2*a));
此方程有两个相等实根:
x1=x2=%lf\n"
x1);
{x1=(-b+(sqrt(b*b-4*a*c)))/(2*a);
x2=(-b-(sqrt(b*b-4*a*c)))/(2*a);
此方程有两个实根:
x1=%lfx2=%lf\n"
11.编写程序,输入三角形三边a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。
inta,b,c;
pieaseinputa,b,c:
if((a+b>
c)&
(a+c>
b)&
(b+c>
a))
if(a==b&
b==c&
a==c)
{printf("
能构成等边三角形\n"
if(a==b||b==c||a==c)
{printf("
能构成等腰三角形\n"
if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b)
{printf("
能构成直角三角形\n"
能构成一般三角形\n"
{printf("
不能构成三角形\n"
12.某个电力公司对其用户的收费规定如下:
用电数量收费标准
0~200x*0.5元
201~400100+(x-200)*0.65元
401~600230+(x-400)*0.8元
601以上390+(x-600)*1.0元
编写程序,对于一个输入的用电数量,计算用户的缴费额。
doublex,y;
pieaseinputx:
%lf"
if(x<
输入的数据有误!
=0&
=200)
{y=x*0.5;
if(x>
=201&
=400)
{y=100+(x-200)*0.65;
if(x>
=401&
=600)
{y=230+(x-400)*0.8;
{y=390+(x-600)*1.0;
y=%lf\n"
13某个服装展示厅对所卖商品打折规定如下:
------------------------------------------------------------
购买总额折扣
-------------------------------------------
机加工产品手工产品
0~100-5%
101~2005%7.5%
201~3007.5%10.0%
大于30010.0%15.0%
--------------------------------------------------------------
编写程序输入购买总额,计算并输顾客实际应付的货款。
#include"
stdio.h"
intlb;
请输入顾客购买总额x:
请输入顾客购买类别lb:
lb);
输入购买总额数据有误!
"
else
{
=100)
if(lb==0)
y=x;
elseif(lb==1)
y=x*0.05;
else
输入购买类别数据有误!
elseif(x>
=101&
y=x*0.5;
y=x*0.075;
=300)
y=x*0.1;
y=x*0.15;
}
x=%lfy=%lf\n"
14编程在屏幕上显示一张如下所示的时间表:
*******Time*******
1morning
2afternoon
3night
Pleaseenteryourchoice:
根据用户输入的时间序号显示相应的问候信息,选择1时显示“Goodmorning”,选择2时显示“Goodafternoon”,选择3时显示“Goodnight”,对于其他选择显示“Selectionerror!
”。
intxh;
\n\n*******Time*******\n"
1morning\n"
2afternoon\n"
3night\n"
\n\n请输入您的选择(1、2、3):
xh);
switch(xh)
case1:
\nGoodmorning\n"
break;
case2:
\nGoodatfernoon\n"
case3:
\nGoodnight\n"
default:
\nSelectionerror!
}
15编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:
操作数1运算符op操作数2
计算表达式的值,指定的运算符为加(+)、减(-)、乘(*)、除(/)
{
floatx,y,z;
charop;
printf(“请输入表达式:
”);
scanf(“%f,%c,%f”,&
op,&
y);
if(op==‘+’)
z=x+y;
if(op==‘-’)
z=x-y;
if(op==‘*’)
z=x*y;
if(op==‘/’)
{if(y!
=0)z=x/y;
elseprintf(“除数为0”);
printf(“%f%c%f=%f\n”,x,op,y,z);
voidmain()
{floatx,y,z;
switch(op)
case‘+’:
case‘-’:
case‘*’:
case‘/’:
16输入某学生的成绩,经处理后给出学生的等级,等级分类如下:
90分以上(包括90):
A
80至90分(包括80):
B
70至80分(包括70):
C
60至70分(包括60):
D
60分以下:
E
方法一:
(用if语句的嵌套)
##include<
floatscore;
请输入成绩:
%f"
score);
if(score>
score<
=90)
%fA"
score);
elseif(score>
=80)
%fB"
=70)
%fC"
elseif(score>
=60)
%fD"
elseprintf("
%fE"
elseprintf("
成绩输入有误!
方法二:
用switch语句
intp;
p=(int)(score/10);
switch(p)
case10:
case9:
case8:
case7:
case6:
4、实验小结
通过本次实验我进一步熟悉了C语言操作环境,学习了两种条件语句,弄清了语句格式和使用方法。
学会了分别使用使用if嵌套语句和switch语句实现功能,其中在使用if嵌套时要注意分清层次,明白else所对应的应当是离得最近的if语句,防止发生逻辑错误。
条件判断语句可以结合逻辑运算符更好得实现。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 选择 结构 程序设计 报告