C上机实验指导书——软件学院·软件工程教研室[2011版]
实验3:顺序程序设计
一、实验目的
1.掌握C语言中使用最多的一种语句------赋值语句的使用方法 2.掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符 3.进一步掌握编写程序和调试程序的方法
二、实验内容及步骤
1. 输入x,y,编写程序求z=x+|y|的值。
(1)程序中用scanf函数输入x和y的值,请分析以下两个语句
scanf(“%f%f”,x,y); scanf(“%f%f”,&x,&y);
哪一个是正确的,分别运行之,分析程序运行结果。
如果scanf函数改为scanf(“%f,%f”,&x,&y);应该怎样输入数据。
2.输入一个双精度数,对小数点后第2位进行四舍五入,即保留一位小数,输出四舍五入的结果。
提示:注意scanf函数和printf函数具有不同的格式字符; 注意数的真正精度与实际显示宽度是不同的。 分清数的精度与显示宽度。
四舍五入算法:x=(x+0.05)*10; x=(int )x; x=x/10。
3.交换两数,变量a、b中各存有一个整数,交换两数后输出。
提示:设a=10,b=20,若要交换两数,则需要借一中间变量,首先将a中的数值存入变量t中进行保存,然后将b中的数值存入a中,再将t中的数值存入b中。(或用其他的方法)
三、实验要求
1.实验中仔细观察、记录、比较实验结果,如果不一致应找出原因。 2.讨论上机各个环节所出现的错误及解决的办法。
4
C上机实验指导书——软件学院·软件工程教研室[2011版]
实验4 选择结构程序设计
一、实验目的
1.了解C语言表示逻辑量的方法(以0表示“假”,以非0代表“真”) 2.学会正确使用逻辑运算符和逻辑表达式 3.熟悉选择结构程序设计
4.熟练使用if语句进行程序设计
5.使用switch语句实现多分枝选择结构
二、实验内容及步骤
1.用scanf函数输入一个年份year,计算这一年2月份的天数days,然后用输出函数printf输出days。 (1)有变量定义为整型。 (2)输入前要加提示语句。
(3)输出结果前要有必要的文字说明。 说明:
(1)闰年的条件是:year能被4整除但不能被100整除,或者year能被400整除。
(2)如果year是闰年,则2月份的天数为29天,不是闰年则为28天。
2.编写程序,输入奖金数a,计算并输出税率、应缴税款和实得奖金数。 奖金税率 a<500 0.00
500≤a<1000 0.05 1000≤a<2000 0.08 2000≤a<5000 0.10 5000≤a 0.15
(1) 用if语句编程,自变量和函数值均为双精度类型
(2) 用scanf函数输入奖金数a,输出结果采用以下形式: a=具体值 rate=税率值 tax=应缴税款 profit=实得奖金数 (3) 分别输入a=280,512,1000,4250,5100,运行该程序 (4) 用if-else if语句和switch语句编程,其它同上。
3.百分制转等级制
输入一个成绩score,要求输出等级A、B、C、D、E,90分以上为A,80-90为B,60-69为D,其它为E。
循环从键盘接收一班学生的某门课的成绩score,并根据成绩所在分数区间给该生评定等级level并输出,直到输入999时结束,求出该班该门课的平均成绩。
5
C上机实验指导书——软件学院·软件工程教研室[2011版]
实验5 循环结构程序设计(一)
一、实验目的
1.熟悉掌握while语句、do-while语句和for语句实现循环的方法
2.掌握在程序设计中用循环方法实现一些常用算法(如穷举、迭代、递推等)
3.掌握并会分析循环结构程序
二、实验内容及步骤
1.分别用while语句、do-while语句编写程序,计算e≈1+1/1!+1/2!+...+1/n! (1) 用单重循环编写程序
(2) 使误差小于给定的ε,设ε=10-5
(3) 除了输出e以外,同时还要输出总的项数n
2.奇偶对调,对N以内的整数进行奇偶对调,并输出结果
3. 如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完数”。例如6的因子是1,2,3,且6=1+2+3,因此6是完数。编写程序找出1000之内的所有完数及这些完数的和。 (1) 要求使用for循环
(2) 输出形式为:完数1+完数2...=和值
三、实验要求
1.实验中仔细观察、记录、比较实验结果,如果不一致应找出原因。 2.讨论上机各个环节所出现的错误及解决的办法。 3.分析三种循环使用的区别。
6
C上机实验指导书——软件学院·软件工程教研室[2011版]
实验6 循环结构程序设计(二)
一、实验目的
1.熟练掌握循环结构的嵌套
2.熟练掌握选择与循环结构的嵌套 3.掌握break和continue语句的使用
二、实验内容及步骤
1.下面程序统计字符数组c中0、1、2及其他字符出现的次数,分别存放在变量i0、i1、i2中,统计结束后输出它们的值。要求:分析出现结果的原因,如何修改使结果正确。
2.判断用户输入的正整数n是否为素数,直到用户输入1为止。
(1)用while循环读入正整数n
(2)对于每个正整数n,采用for循环判断是否为素数。 (3)打印输出判断结果
3.百钱百鸡,中国古代数学家张丘建在他的《算经》中提出了著名的“百钱
7
C上机实验指导书——软件学院·软件工程教研室[2011版]
买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何? 提示:
设鸡翁、鸡母、鸡雏的个数分别为x,y,z,题意给定共100钱要买百鸡,若全买公鸡最多买20只,显然x的值在0~20之间;同理,y的取值范围在0~33之间,可得到下面的不定方程: 5x+3y+z/3=100 x+y+z=100
所以此问题可归结为求这个不定方程的整数解。
8