1.判断成绩等级。
给定一百分制成绩,要求输出成绩的等级。90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出“输入数据错误”。 分别用if和用switch语句实现
(1)if语句
#include <stdio.h> int main () { int grade; printf("输入分数"); scanf("%d",&grade); if(grade<0||grade>100) {printf("数据错误");} else if(grade>=90&&grade<100) {printf("A");} else if(grade>=80&&grade<90) {printf("B");} else if(grade>=70&&grade<80) {printf("C");} else if(grade>=60&&grade<70) {printf("D");} else {printf("E");} return 0; }
实验总结:注意if else的配套使用。
(2)switch 语句
#include <stdio.h> int main () { int grade; printf("输入成绩"); scanf("%d",&grade); if(grade<0||grade>100) {printf("error");} else switch(grade/10) { case 10:case 9: printf("A\n");break; case 8: printf("B\n");break; case 7: printf("C\n");break; case 6: printf("D\n");break; default: printf("E\n"); } return 0; }
实验总结:注意case和:和default的使用规范。
2.判断整数位数及逆序输出。
输入一个不多于5位数的正整数,判断它是几位数并逆序输出。注意验证数据的合法性。
#include <stdio.h> int main () { int a,b,c,d,e,g; printf("输入一个不多于5位的正整数"); scanf("%d",&a); if(a<0||a>100000) {printf("error");} else if(a>0&&a<10) {printf("1位数");} else if(a>=10&&a<100) {printf("2位数"); b=a/10; c=a%10; a=c*10+b; printf("%02d",a);} else if(a>100&&a<1000) {printf("3位数"); b=a/100; c=a%100/10; d=a%10; a=d*100+c*10+b; printf("%03d",a);} else if(a> 000&&a<10000) {printf("4位数"); b=a/1000; c=a%1000/100; d=a%100/10; e=a%10; a=e*1000+d*100+c*10+d; printf("%04d",a);} else {printf("5位数"); b=a/10000; c=a%10000/1000; d=a%1000/100; e=a%100/10; g=a%10; a=g*10000+e*1000+d*100+c*10+b; printf("%05d",a);} return 0; }
实验总结:注意{}的使用范围。
3. 回文数问题
给定一个5位数,判断它是否是回文数。例如:12321是回文数。回文数的特点是个位和万位相同,十位和千位相同。
#include <stdio.h> int main() { int a,b,c,d,e,f; printf("输入一个5位数"); scanf("%d",&a); b=a/10000; c=a%10000/1000; d=a%1000/100; e=a%100/10; f=a%10; if(b==f&&c==e) {printf("该数为回文数");} else {printf("该数不是回文数");} return 0; }
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
输入x的值(x为整数),输出y的值,结果保留3位小数
#include <stdio.h> int main() { float x,y; printf("输入x的值"); scanf("%f",&x); 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);} else {printf("error");} return 0; }
实验总结:注意%.3f的使用,循环的使用。