C语言程序设计实验报告

实验四 实验名称:选择结构程序设计
实验器材:硬件 奔4微机一台;软件 windows 2000以上版本,Visual C
实验目的:
1、了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。;
2、学会正确使用逻辑运算符和逻辑表达式。
3、熟练掌握if语句和switch语句。
4、结合程序掌握一些简单的算法。
5、学习调试程序。
实验任务:
1、有一函数:

用scanf 函数输入x的值,求y值。
运行程序,输人x的值(分别为x<1、1≤x<10、x≥10三种情况),检查输出的y值是否正确。
2、给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,81~89分为B,70—79分为C,60~69分为D,60分以下为E。
①事先编好程序,要求分别用if语句和switch语句实现。运行程序,并检查结果是否正确。
②再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。修改程序,使之能正确处理任何数据。当输入数据大于100或小于0时,通知用户“输人数据错”,程序结束。
3、给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数为321,应输出123。
应准备以下测试数据:
•要处理的数为1位正整数;
•要处理的数为2位正整数;
•要处理的数为3位正整数;
•要处理的数为4位正整数;
•要处理的数为5位正整数。
除此之外,程序还应当对不合法的输入作必要的处理。例如:
•输入负数;
•输入的数超过5位(如123 456)。
4、输入4个整数,要求按由小到大顺序输出。
得到正确结果后,修改程序使之按由大到小顺序输出。

具体的报告要按照正规的实验报告模式啊。。。
能完全按照我提出来的要求更好。。。
我们用的教材是谭浩强编的那个《C语言程序设计》第三版

高人们,行动起来吧!~!~!~!~!~!~

第1个回答  2010-05-13
题目2:
#include <stdio.h>
#include <stdlib.h>
main()
{
int a;
printf("ÇëÊäÈë³É¼¨£º\n");
scanf("%d",&a);
if(90<=a&&a<=100) printf("A");
if(80<=a&&a<=89) printf("B");
if(70<=a&&a<=79) printf("C");
if(60<=a&&a<=69) printf("D");
if(0<=a&&a<=59) printf("E");

if(a>100||a<0) printf("ÊäÈëÊý¾Ý³ö´í");

getch();
}
switch:

#include<stdio.h>
main2()
{
int a;
printf("ÇëÊäÈë³É¼¨:\n");
scanf("%d",&a);
switch(a/10)
{
case 10:printf("A!\n");
break;
case 9:printf("A!\n");
break;
case 8:printf("B!\n");
break;
case 7:printf("C!\n");
break;
case 6:printf("D!\n");
break;
case 5:printf("E!\n");
break;
case 4:printf("E!\n");
break;
case 3:printf("E!\n");
break;
case 2:printf("E!\n");
break;
case 1:printf("E!\n");
break;
case 0:printf("E!\n");
break;
default:
printf("ÊäÈëÊý¾ÝÓдí\n") ;
}
getch();
}
还有你第一题是什么意思呢

题目3 :

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
main
()
{
int a,g,s,b,q,w,x,p,x1,x2,x3,x4;
printf("ÇëÊäÈ룺\n");
scanf("%d",&a);
/*ÅжÏλÊý*/
if(a<0||100000<a) printf("Êý¾Ý³¬³ö·¶Î§£¡£¡£¡");
else if(a/10000!=0){ printf("5λÊý\n");p=5;}
else if(a/1000!=0){ printf("4λÊý\n");p=4;}
else if(a/100!=0) {printf("3λÊý\n"); p=3;}
else if(a/10!=0) {printf("2λÊý\n");p=2;}
else if(a/1!=0) {printf("1λÊý\n");p=1;}
/*·Ö±ð´òÓ¡³öÿһλÊý×Ö*/
w=a/10000;
printf("ÍòλΪ%d\n",w);
q=(a-w*10000)/1000;
printf("ǧλΪ%d\n",q);
b=(a-10000*w-1000*q)/100;
printf("°ÙλΪ%d\n",b);
s=(a-10000*w-1000*q-b*100)/10;
printf("ʮλΪ%d\n",s);
g=(a-w*10000-q*1000-b*100-10*s) ;
printf("¸÷λΪ%d\n",g);
/*°´ÄæÐò´òÓ¡³ö¸÷λÊý*/
if(p==5) {x=g*10000+s*1000+b*100+q*10+w; printf("µ¹ÐòÊýΪ%d\n:",x);}
else
if(p==4) {x1=g*1000+s*100+b*10+q; printf("µ¹ÐòÊýΪ%d\n:",x1); }
else
if(p==3) {x2=g*100+s*10+b; printf("µ¹ÐòÊýΪ%d\n:",x2);}
else
if(p==2) {x3=g*10+s; printf("µ¹ÐòÊýΪ%d\n:",x3);}
else
if(p==1) {x4=g; printf("µ¹ÐòÊýΪ%d\n:",x4);}

getch();
}

题目4:
#include <stdio.h>
#include <stdlib.h>
main()
{
int a[8],i,b,j,swap;
printf("ÇëÊäÈëÊý¾Ý£º\n");
for(i=0;i<8;i++) scanf("%d",&a[i]);
for(i=0;i<7;i++)
{
swap=0;
for(j=0;j<8-i-1;j++)
{
if(a[j]>a[j+1])
{
swap=1;
b=a[j];
a[j]=a[j+1];
a[j+1]=b;
}
}
if(!swap) break;
}
for(i=0;i<8;i++) printf(" %d ",a[i]);
printf("\n");
getch();
}本回答被提问者采纳
第2个回答  2010-05-13
bifdajlfds
第3个回答  2010-05-13
看看书,自己变一下就行了
第4个回答  2010-05-12
教科书上这些都是例题吧、