C语言程序设计实验指导书(5)

2018-12-12 22:55

实验五 分支结构程序设计

源程序: #include main() {

char ch;

int i,num1=0,num2=0,num3=0;

for(i=1;i<=10;i++)

{ ch=getchar(); /*循环一次给变量ch赋值一次*/ if(ch==' ') num1=num1+1; /*统计空格个数*/ else if(ch=='\\n') num2=num2+1; /*统计回车个数*/

else num3=num3+1; /*统计其它字符个数*/ }

}

printf(\空格=%d,回车=%d,其它=%d\\n\

?举一反三

【5-2】输入n个字符统计其中数字字符、*号和字母的个数。 【例5-3】输入x,计算并输出下列分段函数y的值。

x3 (0

y= lnx (5≤x<10)

|x| (x<0) 源程序: #include #include

main() { float x,y; /*定义两个单精度的实型变量*/

printf(\

scanf(\ /*给单精度变量赋值,格式控制为:%f*/

19

实验五 分支结构程序设计

}

if(x>0&&x<5) /*不能表示为:0=5&&x<10) y=log(x); else if(x<0) y=fabs(x);

printf(\

?举一反三

【5-3】输入x,计算并输出下列分段函数y的值。 0 (x<0)

y= 9x2 (0≤x<10)

4.5x-8.5x (x≥10)

【例5-4】任意输入year,判断是否是闰年,判断闰年的条件:能被4整除但不能被100整除,或者能被400整除。 源程序:

#include main() { }

int year;

printf(\scanf(\

if(year%4==0&&year0!=0||year@0==0) printf(\); else

printf(\

?举一反三

【5-4】任意输入一个数,判断是否是偶数,是,输出“yes”;否则,输出“no”。

20

实验五 分支结构程序设计

【例5-5】任意输入一个人的成绩,输出相应的成绩等级。

100-90:等级A、89-80:等级B、79-70:等级C、69-60:等级D,其它等级E 源程序:

#include main() { }

int x;

printf(\

scanf(\

switch(x/10) /*成绩除以10取整数*/

{

case 10:

case 9:printf(\语句:提前退出switch语句*/ case 8:printf(\case 7:printf(\case 6:printf(\default:printf(\}

?举一反三

【5-5】输入10个字符,分别统计空格、回车和其它字符出现的次数。 【例5-6】任意输入三角形的三条边判断能否构成三角形

(1)能,再判断能否构成等边三角形,能输出面积;否则,不输出任何信息。 提示:三角形面积公式:

s?1a?b?c 和area?s(s?a)(s?b)(s?c)

(2)不能构成三角形,输出“NO”。 源程序: #include #include

21

实验五 分支结构程序设计

main() { }

int x,y,z;

double s,area;

printf(\

scanf(\ if(x+y>z&&x+z>y&&y+z>x) {if(x==y&&y==z&&x==z) {s=1.0/(x+y+z); } else

printf(\

area=sqrt(s*(s-x)*(s-y)*(s-z)); printf(\面积=%f\\n\

}

?举一反三

【5-6】任意输入一个数,判断是否是2~100之间的数

(1)是,判断是否是3的倍数,是,输出此数;否则,不输出。 (2)不是,输出“输入错误”。

二、程序改错

不允许增加行也不允许删除行,也不得更改程序的结构。 1、计算下面分段函数的值

x+5 (x<0)

f(x) = x2-x+3 (0≤x<10) 4x-7 (x≥10) 源程序: main() {

int x,y;

/********found********/

scanf(“%d”, x);

22

实验五 分支结构程序设计

if(x<0) y=x+5;

/********found********/

else if(x<10) y=x^2-x+3; /********found********/

else y=4x-7; printf(“y=%d”,y)

}

2、给变量b和c赋值,然后输出它们的值。 源程序: main() {

int a=2,b,c;

if(a>1)

/********found********/

b=1;c=3; else b=2;

printf(“%d,%d\\n”,b,c); }

【思考题】

1、 大写字母Z的后面紧挨着是小写字母a,对吗? 2、 getchar函数和putchar函数都不带参数吗?

3、 if后面的表达式可以任意类型吗? 4、 if(E),与E等价的形式是什么?

5、 switch语句中所有break语句都去掉,运行结果会改变吗?

6、switch后面表达式为实型变量表达式类型,运行时为什么会出错?分析之。

23


C语言程序设计实验指导书(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:实验十 血糖的测定

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: