常熟理工学院 电气与自动化工程学院 《C语言程序设计》实验指导书
实验四 程序控制结构(循环)
班级
学号
姓名
成绩
项目1:使用循环结构实现重复处理 【项目说明】
从键盘输入一个班的成绩,把百分制转换成等级制。将百分制成绩(用score表示)除以10之后再取整,一定得到0到10之间的数。9、10对应’a’,8对应‘b‘,??,5、4、3、2、1、0对应’e’既不及格。要求分别使用三种循环结构实现。该项目中,假设班级人数不固定,规定输入若干0至100的成绩,如果成绩不在此范围,则表示结束。该项目中,同时要使用switch语句实现多分支选择结构。 【项目目的】
(1)掌握用while语句和do…while语句实现循环的方法。 (2)掌握用for语句实现循环的方法。 (3)掌握三种语句的特点和应用技巧。
(4)掌握用break语句和continue语句改变循环状态的方法 。 【项目内容】
1、用while语句实现的程序代码:
2、用do…while和break语句实现的程序代码:
10 《C语言程序设计》实验指导书 常熟理工学院 电气与自动化工程学院3、用do…while和continue语句实现的程序代码:
4、用for语句实现的程序代码:
项目2.(选做) 求
10
(程序代码和运行结果可写在指导书背面) ?n!(即求1!?2!?3!???10!)
n?110常熟理工学院 电气与自动化工程学院 《C语言程序设计》实验指导书
实验五 数组
班级
学号
姓名
成绩
项目1. 冒泡排序法 【项目说明】
输入10个数,用“冒泡法”对10个数排序(由小到大)。冒泡法的基本思想:通过相邻两个数之间的比较和交换,使(数值)较小的数逐渐从底部移向顶部,较大的数逐渐从顶部移向底部。就像水底的气泡一样逐渐向上冒,故而得名。 【项目目的】
(1)掌握冒泡排序算法的编程。 (2)掌握与数组有关的算法。 程序代码:
运行结果:
项目2. 字符统计 【项目说明】
有一篇文章,共有3行文字,每行80个字符。要求分别统计出其中英文字母和数字的个数。 【项目目的】
(1)掌握键盘输入字符串方法。 (2)掌握二维数组的处理方法。
12 《C语言程序设计》实验指导书 常熟理工学院 电气与自动化工程学院【技术要点】
(1)3行文字可定义一个二维字符数组来表示。 (2)使用gets( ) 函数对字符串进行输入。 程序代码:
#include
{int i,j,upp,low,dig,spa,oth; char text[3][80];
upp=low=dig=spa=oth=0; for (i=0;i<3;i++)
{ printf(\ gets(text[i]);
for (j=0;j<80 && text[i][j]!='\\0';j++) {if (text[i][j]>='A'&& text[i][j]<='Z')
upp++;
else if (text[i][j]>='a' && text[i][j]<='z') low++;
else if (text[i][j]>='0' && text[i][j]<='9') dig++;
else if (text[i][j]==' ')
else }
printf(\ printf(\ printf(\ : %d\\n\ printf(\ : %d\\n\ printf(\ : %d\\n\ return 0; }
oth++; }
spa++;
运行结果:
项目3.(选做)
在二维数组中,若某一位置上的元素在该行中最大,而在该列中最小,则该元素即为该二维数组的一个鞍点。要求从键盘上输入一个二维数组,当鞍点存在时,把鞍点找出来。 (程序代码和运行结果可写在指导书背面)
12