- 20
- 0
- 约1.58万字
- 约 26页
- 2017-08-17 发布于安徽
- 举报
实验安排
实验一 C语言运行环境和运行C程序的方法
《实验安排》中的实验1 (其中(7)选作)
补充:
在程序编辑界面输入下面符号:
,,,,,
观察发生的现象,并作出解释,就此你能得到什么结论?
课时数:3
实验二 数据类型、运算符和表达式
《实验安排》中的实验2 (其中(5)选作,(3)不要求画出内存中的表示形式)
补充:验证P88-89 习题4.4 4.5 4.6 4.7
课时数:3
实验三 逻辑结构程序设计
《实验安排》中的实验4(其中(4)选作)
用scanf函数输入的值,求的值。
运行程序,输入的值(分别为这三中情况)检查输出的值是否正确。
#includestdio.h
void main()
{
int x,y;
scanf(%d,x);
if(x1)y=x;
else if(x10)y=2*x-1;
else y=3*x-11;
printf(y=%d,y);
}
(2)给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。(本题是教材第5章习题5.6)。
a)事先编好程序,要求分别用if语句和switch语句来实现。运行程序,并检查结果是否正确。
b)再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级,修改程序,使之能正确处理任何数据,当输入数据大于100和小于0时,通知用户“输入数据错”,程序结束。
#includestdio.h
void main()
{
int point;
scanf(%d,point);
if(point0||point100)
{
printf(输入错误);
return;
}
char degree;
/*下面的代码用if语句*/
/*if(point=90)degree=A;
else if(point=80)degree=B;
else if(point=70)degree=C;
else if(point=60)degree=D;
else degree=E;
printf(您输入的分数等级为%c,degree);*/
switch((int)(point/10))
{
case 10:case 9:degree=A;break;
case 8:degree=B;break;
case 7:degree=C;break;
case 6:degree=D;break;
default:degree=E;break;
}
printf(您输入的分数等级为%c,degree);
}
(3)给一个不多于5位的正整数,要求:a)求出它是几位数;b)分别输出每一位数字;c)按逆序输出各位数字,例如原数为321,应该输出123(本题是教材第5章习题5.7)。
#include stdio.h
void main()
{
int input;
scanf(%d,input);
int number;
if(input0)input=-input;
if(input=0input10)number=1;
else if(input=10 input100)number=2;
else if(input=100input1000)number=3;
else if(input=1000input10000)number=4;
else if(input=10000input100000)number=5;
if(number5)printf(输入的数据是超过位数的数\n);
else printf(输入的数据是%d位数\n,number);
/*按从低到高输出各位数数字*/
int i=10;
while(true)
{
if(i==10)printf(个位数为%d\n,input%10);
if(i==100)printf(十位数为%d\n,input/10%10);
if(i==1000)printf(百位数为%d\n,input/100%10);
if(i==10000)printf(千位数为%d\n,input/1000%10);
if(i==100000)printf(万位数为%d\n,input/10000%10);
i*=10;
if(i==1000000)break;
}
printf(--------------------------\n);
/*按从高到低输出各位数的数字*/
i=10;
原创力文档

文档评论(0)