admin 管理员组

文章数量: 1184232


2024年3月21日发(作者:delphi xe 闪退)

实验

3

逻辑结构程序设计

一、实验目的

1、了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真” )。

2、学会正确使用逻辑运算符和逻辑表达式。

、学会正确使用逻辑运算符和逻辑表达式。

3、熟练掌握if语句和switch语句。

语句。

4、结合程序掌握一些简单的算法。

、结合程序掌握一些简单的算法。

5、学习调试程序。

、学习调试程序。

二、实验内容和步骤

本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。

本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。

的功能是:

1

、改错题。给定程序

MODI1.C

的功能是:

对于如下函数:

对于如下函数:

x

(

x

<

1)

ì

ï

y

=

í

2

x

-

1(1

£

x

<

10)

ï

î

3

x

-

11(

x

³

10)

scanf

函数输入

x

的值,求

y

值。

值。

/*

MODI1.C

*/

#include

void

main()

{

x,

y;

int

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

scanf ("%d",

&x);

scanf ("%d", &

( x < 1 )

if

y = x;

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

if ( 1 <=x&&

if ( 1 <=

x&& x < 10 )

else

y = 2*x -1 ;

else

y = 3*x -11;

printf("y = %dn", y );

}

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

的下面一行。请改正程序中的错误,程序中有两处错误,错误都在提示行:

程序中有两处错误,错误都在提示行:

使它能得出正确的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构

!

修改程序后,运行程序,输入

x

的值(分别为

x<1

1

x<10

x

10

三种情况,如

0.5

8

15

),检查输出

y

值是否正确。

值是否正确。

2

、从键盘输入某学生的考试成绩,要求输出成绩等级

A

B

C

D

E

。学生的成绩可分成

5

个等级,

90-100

分为

A

级,

80-89

分为

B

级,

70-79

分为

C

级,

60-69

分为

D

级,

0-59

分为

E

级。要求在输入负数时,给出

错误提示。

① 事先编好程序,要求分别用

if

语句和

switch

语句实现。运行程序,并检查结果是否正确。

语句实现。运行程序,并检查结果是否正确。

② 再运行一次程序,输入分数为负值(如-

70

),这显然是输入时出错,不应给出等级。修改程序,使之能

正确处理任何数据。当输入数据大于

100

或小于

0

时,通知用户

输入数据错

,程序结束。

,程序结束。

3

、给一个不多于

5

位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位

数字,例如:原数据为

321

,应输出

123

。(

BX4.6

分别用

1

位正整数、

2

位正整数、

3

位正整数、

4

位正整数、

5

位正整数作为测试数据进行测试。

位正整数作为测试数据进行测试。

除此之外,程序还应当对不合法的输入作必要的处理。例如:当输入负数时或输入的数超过

5

位(如

123 456

数时。

数时。

4

、输入

3

个整数,要求按由小到大的顺序输出。

个整数,要求按由小到大的顺序输出。

5

、根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型(等边、等腰、

直角、一般三角形)。

直角、一般三角形)。

6

、输入某职工的工资,根据不同档次扣除工资所得税,然后计算实发工资。扣税标准如下:

1

2

3

4

若工资低于

850

元,则不扣税。

元,则不扣税。

若工资在

850

元至

1500

之间,则扣税比例为

1%

若工资在

1500

元至

2000

之间,则扣税比例为

1.5%

若工资高于

2000

元,则扣税比例为

2%

7

、编写一个菜单显示程序,界面如下:

编写一个菜单显示程序,界面如下:

---------------------------------------------------

主 菜 单

1.

添加记录

2.

显示记录

添加记录

显示记录

3.

读取记录

4.

保存记录

读取记录

保存记录

----------------------------------------------------

请选择

1-4

0

退出:

退出:

输入

1-4

可以进行相应的显示,如输入

1

则显示“你选择了

1

”,输入

2

则显示“你选择了

2

”等,当输入

0-4

之外的数据时,显示“选择错误!”。

之外的数据时,显示“选择错误!”。

8

、以下给定程序

MODI1.C

的功能是:输入一个年份,判断该年是否为闰年。

的功能是:输入一个年份,判断该年是否为闰年。

程序中有两处错误,错误都在提示行:

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

的下面一行。请改正程序中的错误,使

它能得出正确的结果。注意:程序中的其它地方不要随意改动,不得增行或删行,也不得更改程序的结构!

#include

void main()

{

int year, leap;

printf("Please enter a year:");

scanf("%d",&year);

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

leap=0;

if(year%4

!=0)

if(year%4!

else if(year%100!=0) leap=1;

else if(year%400!=0) leap=0;

else leap=1;

if(leap)

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

printf("%d is a leap yearn",year)

;

printf("%d is a leap yearn",year);

else

printf("%d is not a leap yearn",year);

}

9

、以下给定程序

FILL1.C

的功能是:实现

2

个浮点数的四则运算,如输入:

4.0 * 5.2

,则打印出:

4.0*5.2=20.8

程序有两个空

(1)

(2)

需要补充完整。请将程序中的

____(1)____

____(2)____

删除后,在相应的位置填入正确

答案并调试直到得到正确结果为止。

答案并调试直到得到正确结果为止。

注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!

注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!

/*

FILL1.C

*/

# include

void main( )

{

float d1,d2;

char op;

printf(“

输入

d1 op d2”);

scanf (“%f

%c

%f”,&d1,&op,&d2);

switch(op)

{

float temp;

case

‘+’:

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

temp= d1+d2

temp=

d1+d2;

printf (“%f

%c

%f=%f”,d1,op,d2,temp);

break;

case

‘-’:

temp=d1-d2;

printf (“%f

%c

%f=%f”,d1,op,d2,temp);

break;

case

‘*’:

temp=d1*d2;

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

printf (“%f

%c

%f=%f”,d1,op,d2,temp);

break;

case

‘/’:

temp=d1/d2;

printf (“%f

%c

%f=%f”,d1,op,d2,temp);

break;

default:printf (“

错误!

n”);

}

}


本文标签: 程序 输入 逻辑 要求 显示