解题基础:
scanf("输入模式",地址列表);//输入语句及其格式。注:地址列表一定要加取地址符号&,如:&a,&b
switch(表达式){
case 常量值1:
若干语句1
break;//可省略
case 常量值2:
若干语句2
break;//可省略
......
case 常量值n:
若干语句n
break;//可省略
default://可省略
若干语句
}//开关语句及其格式,若表达式的值等于某个常量值,则进行某常量值相对应的语句,若没遇到break,则接着运行下一个常量值后面的语句,直到遇到break为止,若表达式的值不等于某个常量值,则执行default后面的若干语句,default可省略(不执行语句)
思路:因为定义a的是一个整型变量int,所以a/10的值也是一个int型变量(整数)(注:C语言的取整不是四舍五入,是直接舍去小数),所以当90<a<100时,a/10=9,当80<a<90时,a/10=8,当70<a<80时,a/10=9,当60<a<70时,a/10=6,所以可以直接用switch函数(当然if也行,不过比较麻烦)
答案
#include<stdio.h> int main(){ int a; scanf("%d",&a); switch(a/10){ case 10: case 9: putchar('A'); break; case 8: putchar('B'); break; case 7: putchar('C'); break; case 6: putchar('D'); break; default: putchar('E'); } }
ps:当a/10=10时,因为常量值后面的若干语句中没有break,则接着运行下一个常量值(case 9)后面的若干语句,直到遇到break为止
程序结束return 0;不可省。
0.0分
216 人评分
#include<stdio.h> int main() { int a; char ch; scanf("%d",&a); if(90<=a&&a<=100) ch='A'; else if(80<=a&&a<=89) ch='B'; else if(70<=a&&a<=79) ch='C'; else if(60<=a&&<=69) ch='D'; esle {ch='E';} printf ("您的成绩等级是;%c",ch); return 0; }在dvc++里可以编辑出来,为啥提交老错误呢?求大神指点一二!
#include<stdio.h> int main() { int a; char b; scanf("%d",&a); if(a>=90&&a<=100) b='A'; else if(a>=80&&a<=89) b='B'; else if(a>=70&&a<=79) b='C'; else if(a>=60&&a<=69) b='D'; else if(a<60) b='E'; printf("%c",b); return 0; } 为什么把else if改成if也可以啊
#include<stdio.h>//笨方法 int main (void) { int a; scanf("%d",&a); if(a>=90) putchar('A'); if(a>=80 && a<90) putchar('B'); if(a>=70 && a<80) putchar('C'); if(a>=60 && a<70) putchar('D'); if(a<60) putchar('E'); putchar('\n'); }
#include"stdio.h" int main(void) { int a; scanf("%d",&a); switch(a/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; return 0; } }大哥们为啥这个网站系统里报错了呜呜呜
推荐的答案确实更优秀 char GetGrade(int Grades) { char res; if(Grades >= 90) { res = 'A'; } else if (Grades >= 80) { res = 'B'; } else if(Grades >= 70) { res = 'C'; } else if(Grades >= 60) { res = 'D'; } else { res = 'E'; } return res; }
#include<stdio.h> int main() { int a; scanf("%d",&a); 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; }
/*给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。 90分以及90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。*/ #include <stdio.h> int main() { int x; scanf("%d", &x); if (x >= 90) printf("A"); else if (80 <= x) printf("B"); else if (70 <= x) printf("C"); else if (60 <= x) printf("D"); else printf("E"); }
/*给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。 90分以及90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。*/ #include <stdio.h> int main() { int x; scanf("%d", &x); switch (x / 10) { case(10): printf("A"); break; case(9): printf("A"); break; case(8): printf("B"); break; case(7): printf("C"); break; case(6): printf("D"); break; default: printf("E"); } }
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1096 |
简单的a+b (C语言代码)浏览:783 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:368 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:659 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:388 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:566 |
1014题解浏览:524 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:756 |
C二级辅导-公约公倍 (C语言代码)浏览:537 |
剪刀石头布 (C语言代码)浏览:1521 |
菜鸟级程序员 2022-03-27 00:33:13 |
输入和输出要严格按照题目要求的来给,你这几个汉字就是多余的,因为题目的样例只有数字。
S.K.Y 2022-10-04 09:32:33 |
最后一个else写错了