解题基础:
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; 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'); default: putchar('E'); } } 跟最上面优质解答感觉没什么区别啊 为啥 我能运行但是不显示ABCDE啊
#include <stdio.h> int main() { int grade; int x; scanf("%d",&grade); x=grade/10; switch(x){ case 10: printf("A"); 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; } 不太懂,显示答案错误50,但我自己测试50没问题,求各位指点
奇葩么?我就变量不一样也不给过,它说我答案错误 #include<stdio.h> int main() { int s; printf("请输入您的成绩(百分制):\n"); scanf("%d",&s); switch(s/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'); } }
我在想他是不是规定只能用视频里教的方法才能显示正确 #include<stdio.h> main() { int s; printf("请输入您的成绩(百分制):\n"); scanf("%d",&s); if(s>=90) printf("A"); else if(s>=80) printf("B"); else if(s>=70) printf("C"); else if(s>=60) printf("D"); else printf("E"); }
半夏半暖半倾城 2021-07-12 08:58:23 |
我也这样写的程序,在那个在线编译器上通过不了,不懂为啥,明明在 Visual Studio 上可以的
努力c 2021-07-28 17:12:01 |
???我就是自己写的,好多都通过了呀。#include<stdio.h> main() { int i; scanf("%d",&i); if(i<60) printf("E"); else if(i>=60&&i<70) printf("D"); else if(i>=70&&i<80) printf("C"); else if(i>=80&&i<90) printf("B"); else if(i>=90&&i<=100) printf("A"); return 0; }
白色枫叶 2021-09-18 19:28:31 |
main前面没有int,最后也没有return0,怎么会过:(
sor 2021-10-02 03:08:43 |
题目怎么要求,就怎么提交,一句废话也不要打
加油的小白 2021-10-17 15:19:38 |
题目只让你输入数字,你就不要自己加“请输入你的成绩。。”这句话,不然过不了
大魔王 2021-10-31 23:56:07 |
@zgd2250 我的跟他的一样,不过我的没有他的那句话,就是运行结果跟题目的一样,但也是零分
0427安静琪 2021-11-16 13:25:32 |
@sbsor 雀氏
#include <stdio.h> int main(int argc, char** argv) { int cont=0; scanf("%d",&cont); if (cont>=90){ printf("A\n"); }else if(cont>=80){ if(cont<=89){ printf("B\n"); } }else if(cont>=70){ if(cont<=79){ printf("C\n"); } }else if(cont>=60){ if(cont<=69){ printf("D\n"); } }else if(cont<60){ printf("E\n"); } return 0; }
#include <stdio.h> int main(int argc, char** argv) { int cont=0; scanf("%d",&cont); if (cont>=90){ printf("A\n"); }else if(cont>=80){ if(cont<=89){ printf("B\n"); } }else if(cont>=70){ if(cont<=79){ printf("C\n"); } }else if(cont>=60){ if(cont<=69){ printf("D\n"); } }else if(cont<60){ printf("E\n"); } return 0; }
#include <stdio.h> int main() { int sc; scanf("%d",&sc); switch (sc /10) { case 9:putchar('A'); break; case 8:putchar('B'); break; case 7:putchar('C'); break; case 6:putchar('D'); break; default:putchar('E');break; } return 0; } 不知道哪里错了,看了好久
#include<stdio.h> int main() { int T=0; printf("输入您的得分查看您的等级\n"); scanf("%d",&T); T=T/10; if(T==9){ printf("A"); } else if(T==8){ printf("B"); } else if (T==7){ printf("C"); } else if(T==6){ printf("D"); } else { printf("E"); } return 0; } 看了好久不知道错在哪。。。
C语言训练-求函数值 (C语言代码)浏览:944 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:717 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:287 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:1073 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1020 |
三角形 (C++代码)递归(存在大量重复计算,容易出现时间超限)浏览:836 |
文科生的悲哀 (C语言代码)浏览:1552 |
勾股数 (C语言代码)浏览:832 |
字符串比较 (C语言代码)浏览:771 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:465 |
一鹤 2021-11-13 16:51:01 |
scanf("%d",&a); //缺一个地址符
贺宏福 2021-11-22 20:41:24 |
你输入不加去地址&么? 如果把switch(a/10) 强制转换int就更好了