❶ c语言作业 老师要求用switch 来判定学生分数等级
#include<conio.h>
#include <stdio.h>
int main()
{
int s,x;
char n[5];
while(1)
{
printf("\n please enter your name:");
gets(n);
if(n[0]=='q' && n[1]=='u' && n[2]=='i' && n[3]=='t' && n[4]=='\0') //这样就可以输入quit就退出了
break;
printf("\n please enter your score.");
scanf("%d",&s);
getchar(); //这里要用getchar吸收掉scanf按下回车时产生的换行符
if(s>=80 && s<=100)
{
x=1;
}
else if(s>=70 && s<=79)
{
x=2;
}
else if(s>=60 && s<=69)
{
x=3;
}
else if(s>=50 && s<=59)
{
x=4;
}
else if(s>=0 && s<=49)
{
x=5;
} //这里漏了个},导致x一直都是5
switch(x)
{
case 1:
printf("HD");
break;
case 2:
printf("D");
break;
case 3:
printf("C");
break;
case 4:
printf("C");
case 5:
printf("N");
break;
default:
printf("\n please enter a number between 0 and 100");
}
}
return 0;
}
已经通过编译,不懂追问,望采纳~~
P.S LZ代码规范不好,看得我头有点大。。。
❷ C语言中成绩分级(用switch语句)的问题
因为switch语句是顺序执行的,而你的case语句结尾没有加break也就是说你的case会按顺序一个一个执行,直到结束,当你输入的是90 的时候,进入case 10 也就是按顺序执行到case 9:输出A,紧接着走到了case 8:输出B,紧接着走到了case:7输出C,紧着着进入case:6输出D,而因为有相应的case相匹配,所以default不会被执行,紧接着进入下一个循环。。。 没有break语句的话呢,在执行完一句之后呢,就不会自动跳出,而是会继续执行其他以下的语句,有了break之后,每次执行了一句之后,就会自动跳出switch,就不会出现你说的情况了
❸ 求 用C语言中switch语句编写学生成绩问题
……scanf("%f",&a);b=(int)(a/10);switch(b){ case 9: printf("A");break; ……}主要是case后面要常量表达式,这样就必须把区间转化为单值!
❹ C语言用switch语句进行成绩等级判断
C语言用switch语句进行成绩等级判断可以采用以下的代码:
main()
{int i,a;
scanf("%d",&a);
i=a/10;
switch a
{case '10':
case '9': printf("A"); break;
case '8': printf("B"); break;
case '7': printf("C"); break;
case '6': printf("D");
else printf("E");
}
}
(4)c语言switch成绩扩展阅读:
Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择。以C语言来说,switch(开关语句)常和case break default一起使用。
C语言程序语句
Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制流程流转的。
直线翻译:switch语句,即“切换”语句;case即“情况”。
switch语句的语法如下(switch,case,break和default是关键字):
switch ( 变量表达式 )
{
case 常量1 :语句;break;
case 常量2 :语句;break;
case 常量3 :语句;break;
...
case 常量n:语句;break;
default :语句;break;
}
❺ 如何用C语言中switch语句编写学生成绩问题
while(ture)
{
string
input;
//接受用户输入的字段
//提示用户输入
//将输入的赋值给input
if(input=="exit")
{
break;
}
else
{
//注意这里需要将远input字符串类型的转换为int
类型
switch(input)
case
input<100
and
input>90:
printlf("A");
break;
...............
default
break;
有点抱歉
C语言好久没碰了.忘记的差不多了.结构大体这样.
}
}
❻ C语言中用switch语句把成绩分级
每一次case做完都要break, 如果不break的话会继续判断下面case.
❼ C语言中从键盘输入一个学生成绩,如何用switch输出成绩和档次
switch里有三种写法,第一种就是每个单独写出来如:(这种如果数据多的话不推荐,比如这题)
switch(score) {
case 90: case 91://...case 100:
//优秀。。
break;
case 80:case 81:case 82: //...case 89:
//中等。。
break;
}
第二种就是进行缩小范围,如:(这种如果数据分布很有规律就用,比如这题)
switch(score/10) {
case 10: case 9: //优秀..
break;
case 8: //中等
break;
}
第三种是函数的写法,这适用于数据分布无规律而不能进行缩小范围时,假如90~96为优秀,97~100为特优秀的话,可以这样,如:(这种适用于数据分布无规律)
int score_fun(int score)
{
if(score >= 97)
return 1;
if(score >= 90)
return 2;
if(score >= 80)
return 3;
}
//....
switch(score_fun(score)) {
case 1: //特优秀。。
break;
case 2: //优秀。。
break;
case 3: //中等。。
break;
}
❽ 编写C语言程序 用switch结构或if语句 输入成绩 输出等级
// ConsoleApplication17.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<stdio.h>
int main()
{
int score;
printf("请输入分数: ");
scanf("%d",&score);
switch(score/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(不及格) ");
break;
}
}
❾ C语言用switch函数输出成绩等级,怎么无法输出
你好!你的switch
语句的花括号应该打在default:g='F';break;后面,即printf("%c\n",g);
return
0;应该在switch语句外面,否则每次执行switch语句后都break出来了,不会执行打印输出语句!
改动后程序:
#include
<stdio.h>
main()
{
int
s;
char
g;
scanf("%d",&s);
switch((int)s/10){
case
10:g='A';break;
case
9:g='B';break;
case
8:g='C';break;
case
7:g='D';break;
case
6:g='E';break;
default:g='F';break;
}
printf("%c\n",g);
return
0;
}
❿ c语言中用 switch 怎么写然后输入一个分数根据分数段输出 ABCDE。
常用的方法 就是把分数除10
然后对结果进行switch