题目一:编程输入任意两个数,将较小者输出
程序代码:
#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("输入有误。"); } }
标签:10,include,int,顺序程序,&&,printf,设计,实验报告,socre From: https://www.cnblogs.com/librakeep/p/17133775.html