实验4选择结构程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验4选择结构程序设计
一、实验目的
1.掌握C语言中逻辑量的表示和使用方法。
2.掌握if语句及switch语句的使用。
3.熟悉各种表达式作为if语句及switch语句的条件。
4.了解Turbo C程序的基本调试方法。
二、实验内容
1.验证性实验
(1)分析程序的运行结果。
①运行下列程序,输入1-7之间的任意数字,观察程序的运行结果。
#include
void main()
{int week;
printf("Input(1-7):");
scanf("%d",&week);
switch(week)
{ case 1:printf("Mon.\n"); break;
case 2:printf("Tue.\n"); break;
case 3:printf("Wed.\n"); break;
case 4:printf("Tur.\n"); break;
case 5:printf("Fri.\n"); break;
case 6:printf("Sat.\n"); break;
case 7:printf("Sun.\n"); break;
default:printf("The input is wrong!\n");
}
}
②运行5次下列程序,输入的数据分别是1,2,3,4,5,请观察每次的运行结果,并根据结果分析原因。
#include
void main()
{int n,a=0,b=0,c=0,d=0,k=0;
scanf("%d",&n);
switch(n)
{ case 1:b++;break;
case 2:c++;
case 3:d++;break;
case 4:k++;
default:a++;
}
printf("%d,%d,%d,%d",a,b,c,d,n);
}
(2)输入x的不同值,以下程序将求一给定“y=f(x)”函数的值。
#include
#include
void main()
{ float x,y;
scanf("%f",&x);
if(x<0) y=fabs(x);
else if(x<10) y=x*x;
else y=log10(x);
printf("%f\n",y);
}
2.程序填空
(1)以下程序的功能是将用户输入的字母进行大小写转换,即若输入小写字母则将其转换为大写字母,如输入大写字母则将其转为小写字母,若输入非字母字符则输出提示信息。
#include
void main()
{char c;
scanf("%c",&c);
if(‘A’<=c&&c>=‘Z’)c=c-32;
else if(‘a’<=c&&c>=‘z’) c=c+32;
else printf("input error\n");
printf("%c\n",c);
}
(2) 某单位马上要加工资,增加金额取决于工龄和现工资两个因素:对于工龄大于等于20年的,如果现工资高于2000,加200元,否则加180元;对于工龄小于20年的,如果现工资高于1500,加150元,否则加120元。工龄和现工资从键盘输入,以下程序完成此工资计算。
#include
void main()
{ float s0,s; /*s0为现工资,s为增加后的工资*/
int y; /*y为工龄*/
printf("Input s0,y:");
scanf("%f%d",&s0,&y);
if(y>=20)
{ if(s0>=2000)s=so+200;
else s=s0+180;
}
else
{ if(s0>=1500)s=s0+150;
elses=so+120;
}
printf("s=%f\n",s);
}
3.程序改错
(1)以下程序的功能是求解一个一元二次方程的实根。
#include
#include
void main( )
{float x1,x2;
int a,b,c,d;
printf("请输入一元二次方程的三个系数:");
scanf("%d%d%d",&a,&b,&c);
d=b*b-4ac; ★
if(d=0) x1=x2=-b-sqrt(d)/2*a; ★ /*sqrt(d)的作用是求d 的平方根*/
if(d>0) x1=-b-sqrt(d)/(2*a); ★
x2=-b+sqrt(d)/(2*a); ★
printf("%f,%f",x1,x2);
}
(2)下列程序的功能是求解函数22(110)
(110)x x x y x x <>⎧=⎨≤≤⎩或。
#include
void main( )
{float x,y;
printf("请输入x 的值: ");
scanf("%f",x);
if(x<1||x>10) y=2*x;
if(1<=x<=10) y=x*x;★
printf("y=%f",y);
}
4.设计性实验
(1)由键盘输入3个实型数据,代表三角形的三条边,判断它们能否组成三角形,若构成三角形则计算其面积并输出,否则输出相应提示信息(如“不能构成三角形”)。
提示:三角形的三边A,B,C 要满足:A>0,B>0,C>0并且A+B>C,B+C>A,C+A>B 的条件。面积=SQRT(L*(L-A)*(L-B)*(L-C))(其中 L=(A+B+C)/2)
(2)编程实现对任意一个3位正整数,判断它是不是回文数。所谓回文数是指其各位数字左右对称的正整数。例如121,个位与百位相同。
(3) 键盘输入自己的腰围和体重,根据以下身体脂肪含量的计算公式编程计算出自己的脂肪含量,看看自己的脂肪含量是否在正常值范围内,并输出相应的信息如“正常、完美身材等”。
A=腰围(英寸)*4.15 (1英寸=2.54cm )
B=体重(磅)*0.082 (1公斤=2.2磅)
脂肪含量=(A-B-76.76)*1%
(男性正常脂肪含量是12%-20%;女性正常脂肪含量是20%-30%,23%是公认的完美身材脂肪比例。)