结果说明:程序使得China→Glmre
②
结果说明:程序使得Today→Xshec
③
结果说明:程序使得China→Xshec
实验总结:
①第一个程序运行时,一直报错,分析原因有程序本身的单词拼写错误和数据类型不符,经过修改,运行出正确结果;
②程序输入不熟悉,容易输错,经过不断调试,才运行出结果; ③编程序真的很费劲,每个算法需好好斟酌。
实验序号: 第 4次实验 实验名称:选择结构程序设计 实验目的:
(1)了解C语言表示的逻辑量的方法(以0代表“假”,以非0代表“真”)。 (2)学会正确使用逻辑运算符和逻辑表达式。
(3)熟练掌握if语言的使用(包括if语言的嵌套)。 (4)熟练掌握分支选择语句—switch语句。 (5)结合程序掌握一些简单的算法。 (6)进一步学习调试程序的方法。
实验内容:
第一题:
有一函数:写程序,输入y相应的值。用scanf函数输入x的值,求y值。 运行程序,输入x的值(分别为x<1、1<=x<10、x>=10这3种情况),检查输出的
y值是否正确。 代码:
#include
printf(\输入x:\ scanf(\
if(x<1) /* x<1 */ { y=x;
printf(\ y=x=%d\\n\ }
else if(x<10) /* 1=
运行结果:①
结果说明:输入x=-6,(-6<1),得到y=x=-6;
②
结果说明:输入x=4,(0≦4<10),得到y=2*x-1=7;
③
结果说明:输入x=25,(25≧10),得到y=3*x-11=64;
第二题:
从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其进行检查是否小于1000的正数。若不是,则要重新输入。
代码:
#include
int i,k; printf(\请输入一个小于%d的整数i:\ scanf(\ if (i>M)
{printf(\输入的数不符合要求,请重新输入一个小于%d的整数i:\ scanf(\ }
k=sqrt(i);
printf(\的平方根的整数部分是:%d\\n\ return 0; }
运行结果:
结果说明:运行结果显而易见; 第三题:
给出一个百分制成绩,要求输出成绩等级A,B,C,D,E。90分以上为A,81—89分为B,70-79分为C,60-69分为D,60分以下为E。
①事先编好程序,要求分别用if语句和switch语句来实现。运行程序,并检查结果是否正确。
②再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级,修改程序,使之能正确处理任何数据,当输入数据大于100小于0时,通知用户“输入数据错”,程序结束。 代码:
#include
{ float score; char grade;
printf(\请输入学生成绩:\ scanf(\
while (score>100||score<0) {printf(\输入有误,请重输\ scanf(\ }
switch((int)(score/10)) {case 10:
case 9: grade='A';break; case 8: grade='B';break; case 7: grade='C';break; case 6: grade='D';break; case 5: case 4: case 3: case 2: case 1: case 0: grade='E'; }
printf(\成绩是 %5.1f,相应的等级是%c\\n \ return 0; }
运行结果:
第四题:
输入4个整数,要求按由小到大顺序输出。
在得到正确结果后,修改程序使之按由大到小顺序输出。 代码:
①
#include
printf(\请输入四个数:\
scanf(\ printf(\ if (a>b)
{ t=a;a=b;b=t;} if (a>c)
{ t=a;a=c;c=t;} if (a>d)
{ t=a;a=d;d=t;} if (b>c)
{ t=b;b=c;c=t;}
if (b>d)
{ t=b;b=d;d=t;} if (c>d)
{ t=c;c=d;d=t;}
printf(\排序结果如下: \\n\
printf(\ %d %d %d \\n\ return 0; }
②修改后的程序:
#include
printf(\请输入四个数:\
scanf(\ printf(\ if (a
{ t=a;a=b;b=t;} if (a { t=a;a=c;c=t;} if (a { t=a;a=d;d=t;} if (b { t=b;b=c;c=t;} if (b { t=b;b=d;d=t;} if (c { t=c;c=d;d=t;} printf(\排序结果如下: \\n\ printf(\ %d %d %d \\n\ return 0; } 运行结果:① 修改后运行的结果