c语言选择结构程序设计实验报告4Word文档下载推荐.docx
《c语言选择结构程序设计实验报告4Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c语言选择结构程序设计实验报告4Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
答:
1)调试通过的程序清单如下:
#include<
stdio.h>
voidmain()
{
intx,y;
printf("
请输入X:
"
);
scanf("
%d"
&
x);
if(x<
1)
y=x;
elseif(x<
10)
y=2*x-1;
elsey=3*x-11;
y=%d\n"
y);
}
3)调试过程出现的问题说明及处理方法:
编译提示信息如下:
Compiling...
c4_4.c
F:
\_选择结构程序设计\第四次实验\c4_4.c(10):
errorC2059:
syntaxerror:
'
badsuffixonnumber'
errorC2146:
missing'
;
'
beforeidentifier'
x'
warningC4552:
-'
:
operatorhasnoeffect;
expectedoperatorwithside-effect
\_选择结构程序设计\第四次实验\c4_4.c(11):
errorC2181:
illegalelsewithoutmatchingif
执行cl.exe时出错.
c4_4.obj-1error(s),0warning(s)
原因分析:
由于习惯在数学上习惯于用2x表示2*x,导致在这里忽略了“*”,以致程序出现严重错误。
(2)从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。
要求在输入数据后先对其进行检查是否小于1000的正数。
若不是,则要求重新输入。
1)调试通过的程序清单如下:
#include<
math.h>
#defineM1000
intmain()
inti,k;
printf("
请输入一个小于%d的整数i:
M);
scanf("
i);
if(i>
1000)
{printf("
输入的数据有误,请重新输入:
}
k=sqrt(i);
%d的平方根的整数部分是%d\n"
i,k);
return0;
2)调试通过的运行结果:
errorC2018:
unknowncharacter'
0xa3'
0xbb'
scanf'
\_选择结构程序设计\第四次实验\c4_4.c(13):
warningC4244:
='
conversionfrom'
double'
to'
int'
possiblelossofdata
c4_4.exe-1error(s),0warning(s)
因为把第十行的“;
”在中文模式输入,变成了“;
”导致编译错误。
(3)给出一个百分制成绩,要求输出成绩等级A,B,C,D,E.90分以上为A,81~89分为B,70~79分为C,60分~69分为D,60分以下为E。
1事先编好程序,要求分别用if语句和switch语句来实现。
运行程序,并检查结果是否正确。
intg,s;
charch;
\n输入学生的分数:
g);
s=g/10;
if(s<
0||s>
printf("
\n输入数据错误!
\n\n"
else
{
switch(s)
{
case10:
case9:
ch='
A'
break;
case8:
B'
case7:
C'
case6:
D'
default:
E'
}
\n学生的成绩等级是:
%c\n\n"
ch);
(1)编译提示信息如下:
c4_4.obj-0error(s),0warning(s)
(2)连接提示信息如下:
Linking...
c4_4.exe-0error(s),0warning(s)
由于忽略了在程序中加入换行符,导致输出成绩等级和“Pressanyeytocontine”连在一起。
2再运行一次程序,输入分数为负值,这显然是输入时出错,不应给出等级,修改程序,使之能正确处理任何数据,当输入数据大于100和小于0时,通知用户“输入数据错误”。
程序结束。
在编写程序的时候已经考虑到了该情况,第一次编写时已经进行了优化,能够自动处理该情况的出现。
以下是运行结果:
(4)输入4个整数,要求按由小到大顺序输出,在得到正确结果后,修改程序使之按由大到小的顺序输出。
inta,b,c,d,t;
请依次输入四个整数以空格隔开。
\n"
%d%d%d%d"
a,&
b,&
c,&
d);
if(a>
b)
t=a;
a=b;
b=t;
c)
t=a;
a=c;
c=t;
d)
a=d;
d=t;
if(b>
t=b;
b=c;
b=d;
if(c>
t=c;
c=d;
四个整数经从小到大的顺序排列后的结果如下\n"
%d,%d,%d,%d\n"
a,b,c,d);
2)程序运行的结果:
从大到小排列的程序是:
1)通过排列的程序清单如下:
if(a<
if(b<
if(c<
四个整数经从大到小的顺序排列后的结果如下\n"
3)运行的结果:
实验心得:
通过此次实验本人更加熟练的掌握了程序C语言逻辑运算符和逻辑表达式的应用,也深深了解到了,C语言的强大,同时是我对这门语言的兴趣更加深厚。
做完本次实验,我纠正了以往的一个观点,学习一门语言不要以为看书看明白了就以为对这方面的知识掌握了,学习语言更为重要的是要会使用,不能仅仅是以为明白就可以了事,合上书本,能够应用这方面的知识写出一个程序来,才能算对它的初步掌握。