实验4选择结构程序设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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%是公认的完美身材脂肪比例。)

相关文档
最新文档