首页 > 代码库 > 第二次作业
第二次作业
(1)判断成绩等级。
1.实验要求:给定一百分制成绩,要求输出成绩的等级。90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出“输入数据错误”。 分别用if和用switch语句实现
if语句
#include <stdio.h>int main(){ int a; printf("请输入一个成绩"); scanf("%d",&a); if (a<0||a>100) { printf("输入错误");} else if(a>=90) { printf("A");} else if(a>=80) { printf("B");} else if(a>=70) { printf("C");} else if(a>=60) { printf("D");} else { printf("E");} return 0; }
2.本次课知识点总结:if语句的应用
3.实验总结:if后的括号中的a不要加“”,注意最后一个“else”后没有小括号。
switch语句
#include <stdio.h>int main(){ int a; printf("请输入成绩"); scanf("%d",&a); if(a>100||a<0) { printf("输入错误");} else {switch(a/10) {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"); } } return 0;}
2.本次课知识点总结:switch语句的应用
3.实验总结:注意“break”的添加,各部分“;”的添加,最后记得加"default"。
(2)判断整数位数及逆序输出。
1.实验要求:输入一个不多于5位数的正整数,判断它是几位数并逆序输出。注意验证数据的合法性。
#include <stdio.h>int main(){ int a,b,c,d,e,f,g; printf("请输入一个数字"); scanf("%d",&a); if(a>100000||a<0) { printf("error");} else if(a>9999&&a<100000) { b=a/10000; c=(a%10000)/1000; d=(a%1000)/100; e=(a%100)/10; f=a%10; g=f*10000+e*1000+d*100+c*10+b; printf("%05d",g); } else if(a>999&&a<10000) { b=a/1000; c=(a%1000)/100; d=(a%100)/10; e=a%10; g=e*1000+d*100+c*10+b; printf("%04d",g); } else if(a>99&&a<1000) { b=a/100; c=(a%100)/10; d=a%10; g=d*100+c*10+b; printf("%03d",g); } else if(a>9&&a<100) { b=a/10; c=a%10; g=c*10+b; printf("%02d",g); } else { printf("%d",a);} return 0; }
2.本次课知识点总结:取余的应用,if语句的嵌套。
3.实验总结:注意要补“0”,以及对输入错误的判断。
(3)回文数问题
1.实验要求:给定一个5位数,判断它是否是回文数。例如:12321是回文数。回文数的特点是个位和万位相同,十位和千位相同。
#include <stdio.h>int main(){ int a,b,c,d,e,f; printf("请输入一个5位数"); scanf("%d",&f); a=f/10000; b=f%10000/1000; c=f%1000/100; d=f%100/10; e=f%10; if(a==e&&b==d) { printf("这个数是回文数");} else { printf("这个数不是回文数");} return 0; }
2.本次课知识点总结:取余的应用,if语句的嵌套。
3.实验总结:注意对各个数位的计算。
(4)计算分段函数
y=-x+2.5 0 <= x < 5
y=2-1.5(x-3)(x-3) 5 <= x < 10
y=x/2-1.5 10 <= x < 20
1.实验要求:输入x的值(x为整数),输出y的值,结果保留3位小数。
#include <stdio.h>int main(){ float x,y; printf("请输入x的值"); scanf("%f",&x) ; if(x>=20||x<0) { printf("error"); } else if(x>=0&&x<5) { y=-x+2.5; printf("y=%.3f",y);} else if(x>=5&&x<10) { y=2-1.5*(x-3)*(x-3); printf("y=%.3f",y);} else if(x>=10&&x<20) { y=x/2-1.5; printf("y=%.3f",y);} return 0; }
第二次作业