顺序程序设计实验报告

题目一:编程输入任意两个数,将较小者输出

程序代码:

#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("输入有误。");
}
}

  

 

posted @ 2023-02-18 22:03  sleepyw  阅读(209)  评论(0)    收藏  举报