顺序程序设计实验报告
题目一:编程输入任意两个数,将较小者输出
程序代码:
#include <stdio.h>
main()
{
int a,b,min;
scanf("%d,%d",&a,&b);
if(a>b)
min=b;
else
min=a;
printf("较小值为%d",min);
}
题目二:输入三个数实数a、b、c,按从大到小输出,并输出最大值和最小值
程序代码:
#include <stdio.h>
int main()
{
float a,b,c,t,min,max;
printf("请输入三个数:");
scanf("%f,%f,%f",&a,&b,&c);
if(a<b)
{
t=a;
a=b;
b=t;
}
if(a<c)
{
t=a;
a=c;
c=t;
}
if(b<c)
{
t=b;
b=c;
c=t;
}
printf("按从大到小输入为:%f,%f,%f",a,b,c);
max=(c>b&&c>a)?c:(a>b)?a:b;
min=(c<a&&c<b)?c:(a<b)?a:b;
printf("max=%f min=%f",max,min);
}
题目三:输入学生成绩判断等级
程序代码:
#include <stdio.h>
int main()
{
int socre;
printf("请输入成绩:");
scanf("%d",&socre);
if(socre>100 | socre<0)
{
printf("成绩输入错误。");
}
else
{
if(socre>=90)
printf("成绩为A");
else if(socre>=80 && socre <90)
printf("成绩为B");
else if(socre>=70 && socre <80)
printf("成绩为C");
else if(socre >=60 && socre <70)
printf("成绩为D");
else
printf("成绩为E");
}
}
程序代码:
#include <stdio.h>
int main()
{
int socre;
printf("请输入成绩:");
scanf("%d",&socre);
if(socre>100)
{
printf("成绩输入错误。");
}
else
{
socre = socre / 10;
switch (socre)
{
case 10:
case 9:printf("成绩为A。");break;
case 8:printf("成绩为B。");break;
case 7:printf("成绩为C。");break;
case 6:printf("成绩为D。");break;
default:printf("成绩为E。");break;
}
}
}
调试错误:错误一:Switch语句判断时的case条件判断过于复杂,无法完成等级判断
更改错误:引入公式socre=socre/10,留十位数进行判断
题目四:分段函数
程序代码:
#include <stdio.h>
int main()
{
float x,y;
printf("x为:");
scanf("%f",&x);
if(x<1)
{
y=x;
}
else if(x>=1&&x<10)
{
y=2*x-1;
}
else if(x>=10)
{
y=3*x-11;
}
printf("y=%.3f\n",y);
}
题目五:用户输入一个不超过4位的整数,不考虑该整数的符号,程序输出它是几位数,分别输出其每位数字,最后将该数逆序输出,
程序代码:
#include <stdio.h>
#include <math.h>
int main()
{
int a,b,c,d,x,y;
printf("输入一个不大于四位的整数:\n");
scanf("%d",&x);
if(x>=1000 && x<10000)
y=4;
else if(x>=100 && x<1000 )
y=3;
else if(x>=10 && x<100)
y=2;
else if(x<10)
y=1;
else
printf("输入有误。");
switch(y)
{
case 1:
printf("为1位\n");
printf("逆序输出:%d%d",x,x);break;
case 2:
printf("为2位\n");
a=x/10;
b=x%10;
printf("分别为:%d%d\n",a,b);
printf("逆序输出:%d\n",b*10+a);break;
case 3:
printf("为3位\n");
a=x/100;
b=x%100/10;
c=x%10;
printf("分别为:%d%d%d\n",a,b,c);
printf("逆序输出:%d\n",c*100+b*10+a);break;
case 4:
printf("为4位\n");
a=x/1000;
b=x%1000/100;
c=x%100/10;
d=x%10;
printf("分别为:%d%d%d%d\n",a,b,c,d);
printf("逆序输出:%d",d*1000+c*100+b*10+a);break;
};
}
调试错误:
错误一:
三四位整数逆序数的算法错误,无法完成原整数逆序输出
更改错误:将三四位整数逆序数算法调整为
四位:x/1000,x%1000/100,x%100/10,x%10
三位:x/100,x%100/10,x%10
题目六:体型判断
程序代码:
#include <stdio.h>
int main()
{
float h,w,t;
printf("请输入身高,体重:\n");
scanf("%f,%f",&h,&w);
if(h>0 && w>0)
{
t=w/(h*h);
if(t<18)
{
printf("低体重");
}
else if(18<=t && t<25)
{
printf("正常体重。");
}
else if(25<=t && t<27)
{
printf("超重体重。");
}
else
{
printf("肥胖。");
}
}
else
{
printf("输入有误。");
}
}

浙公网安备 33010602011771号