输入成绩得等级
输入等级得成绩
怎么用switch获得
求!求答疑!
#include<stdio.h>
int main()
{
int score;
puts("请输入分数:");
scanf("%d",&score);
switch(score/10){
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
puts("成绩等级为D");
break;
case 6:
case 7:
puts("成绩等级为C");
break;
case 8:
case 9:
puts("成绩等级为B");
break;
case 10:
puts ("成绩等级为A");
break;
default:
puts ("成绩无效,请重新输入");
}
return 0;
}
https://blog.csdn.net/weixin_60282135/article/details/129477659
输入成绩得等级,反过来更简单了,这里提供输入成绩得等级的代码,供参考:
#include <stdio.h>
int main()
{
int score = 101;
scanf("%d", &score);
switch (1*(score >=90 && score <= 100)+
2*(score >=80 && score < 90) +
3*(score >=70 && score < 80) +
4*(score >=60 && score < 70) +
5*(score >=0 && score < 60))
{
case 1:printf("A");break;
case 2:printf("B");break;
case 3:printf("C");break;
case 4:printf("D");break;
case 5:printf("E");break;
default:printf("Error!");
}
return 0;
}
输入等级得到成绩范围:
#include <stdio.h>
int main()
{
char s;
scanf("%c", &s);
switch (1*(s == 'A')+
2*(s == 'B')+
3*(s == 'C')+
4*(s == 'D')+
5*(s == 'E'))
{
case 1:printf("score >=90 && score <= 100)");break;
case 2:printf("score >=80 && score < 90"); break;
case 3:printf("score >=70 && score < 80"); break;
case 4:printf("score >=60 && score < 70"); break;
case 5:printf("score >=0 && score < 60"); break;
default:printf("Error!");
}
return 0;
}
*3、用Switch语句实现:输入等级则输出对应的分数段。已知A级为90-100分,B级为80-89分,
C级为70-79分,D级为60-69分,E级为60分以下。例如,输入A,则输出:90-100分*/
#include <stdio.h>
int main(void){
char op;
int a,b;
printf("输入等级:");
scanf("%c",&op);
getchar();
switch(op){
case 'A':a=90,b=100;break;
case 'B':a=80,b=89;break;
case 'C':a=70,b=79;break;
case 'D':a=60,b=69;break;
case 'E':a=0,b=59;break;
default: a=-1; break;
}
if(a==-1){
printf("无效等级!");
}else{
printf("分数段:%d-%d",a,b);
}
return 0;
}
----------------------------------------------------------
#include <stdio.h>
//输入成绩得等级用Switch语句实现:输入等级则输出对应的分数段。已知A级为90-100分,B级为80-89分,
//C级为70-79分,D级为60-69分,E级为60分以下。例如,输入A,则输出:90-100分
//怎么用switch获得的
int main(void)
{
int scores;
int option=0;
char grade;
printf("Enter scores:\n");
scanf("%d",&scores);
if(scores>=90&&scores<=100){
option=5;
}else if(scores>=80&&scores<90){
option=4;
}else if(scores>=70&&scores<80){
option=3;
}else if(scores>=60&&scores<70){
option=2;
}else if(scores>=0&&scores<60){
option=1;
}
switch(option){
case 1:grade='E';break;
case 2:grade='D';break;
case 3:grade='C';break;
case 4:grade='B';break;
case 5:grade='A';break;
default:printf("无效成绩!");break;
}
printf("grade:\n%c",grade);
return 0;
}
*3、用Switch语句实现:输入等级则输出对应的分数段。已知A级为90-100分,B级为80-89分,
C级为70-79分,D级为60-69分,E级为60分以下。例如,输入A,则输出:90-100分*/
#include <stdio.h>
int main(void){
char op;
int a,b;
printf("输入等级:");
scanf("%c",&op);
getchar();
switch(op){
case 'A':a=90,b=100;break;
case 'B':a=80,b=89;break;
case 'C':a=70,b=79;break;
case 'D':a=60,b=69;break;
case 'E':a=0,b=59;break;
default: a=-1; break;
}
if(a==-1){
printf("无效等级!");
}else{
printf("分数段:%d-%d",a,b);
}
return 0;
}
----------------------------------------------------------
#include <stdio.h>
//输入成绩得等级用Switch语句实现:输入等级则输出对应的分数段。已知A级为90-100分,B级为80-89分,
//C级为70-79分,D级为60-69分,E级为60分以下。例如,输入A,则输出:90-100分
//怎么用switch获得的
int main(void)
{
int scores;
int option=0;
char grade;
printf("Enter scores:\n");
scanf("%d",&scores);
if(scores>=90&&scores<=100){
option=5;
}else if(scores>=80&&scores<90){
option=4;
}else if(scores>=70&&scores<80){
option=3;
}else if(scores>=60&&scores<70){
option=2;
}else if(scores>=0&&scores<60){
option=1;
}
switch(option){
case 1:grade='E';break;
case 2:grade='D';break;
case 3:grade='C';break;
case 4:grade='B';break;
case 5:grade='A';break;
default:printf("无效成绩!");break;
}
printf("grade:\n%c",grade);
return 0;
}
答案来自chatgpt,如果答案对您有帮助请采纳
在C语言中,可以使用switch语句来根据输入的成绩得到对应的等级,或者根据输入的等级得到对应的成绩。下面是一个简单的示例代码:
#include <stdio.h>
int main() {
int score;
char grade;
printf("请输入成绩:");
scanf("%d", &score);
// 使用switch语句根据成绩得到等级
switch (score / 10) {
case 10:
case 9:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
case 6:
grade = 'D';
break;
default:
grade = 'E';
break;
}
printf("对应的等级是:%c\n", grade);
// 使用switch语句根据等级得到成绩
printf("请输入等级:");
scanf(" %c", &grade);
switch (grade) {
case 'A':
case 'a':
score = 90;
break;
case 'B':
case 'b':
score = 80;
break;
case 'C':
case 'c':
score = 70;
break;
case 'D':
case 'd':
score = 60;
break;
default:
score = 0;
break;
}
printf("对应的成绩是:%d\n", score);
return 0;
}
在上面的示例代码中,使用了switch语句来根据成绩和等级进行条件判断,并将对应的等级或成绩赋值给相应的变量。注意,在使用switch语句时,需要使用break语句来跳出switch语句,避免多个case语句被执行。同时,可以使用switch语句来处理不同情况下的默认值。在输入字符时,使用空格键来忽略输入缓冲区中的换行符或空格,以避免错误输入。
不知道你这个问题是否已经解决, 如果还没有解决的话:解题思路: 与第一题思路没有太大差别,区别在于switch语句的case子句中需要是一个常量整数,并且switch中若子句中没有break将循序向下执行,直到遇到break才会跳出switch语句,如果这时候将利润除以10w,则得到09的数字,其中0表示小于10w,1表示介于1020w,2、3表示介于2040w,4、5表示介于4060w,6、7、8、9表示介于60~100w,否则就是大于100w
答案:
#include <stdio.h>
int main()
{
double I, salary = 0;
printf("enter performance:");
scanf_s("%lf", &I);
if (I < 0) {
printf("请输入一个正数\n");
system("pause");
return -1;
}
double salary1 = 100000 * 0.1;//大于100000时0~100000的奖金
double salary2 = (200000 - 100000) * 0.075 + salary1;//大于200000时0~20万的奖金
double salary3 = (400000 - 200000) * 0.05 + salary2;//大于400000时0~40万的奖金
double salary4 = (600000 - 400000) * 0.03 + salary3;//大于600000时0~60万的奖金
double salary5 = (1000000 - 600000) * 0.015 + salary4;//大于1000000时0~100万的奖金
int grade = I / 100000;
switch(grade) {
case 0:
salary = I * 0.1; break;
case 1:
salary = salary1 + (I - 100000) * 0.075; break;
case 2://会顺序执行到下一个break处
case 3:
salary = salary2 + (I - 200000) * 0.05; break;
case 4:
case 5:
salary = salary3 + (I - 400000) * 0.03; break;
case 6:
case 7:
case 8:
case 9:
salary = salary4 + (I - 600000) * 0.015; break;
default:
salary = salary5 + (I - 1000000) * 0.01; break;
}
printf("salary:%f\n", salary);
system("pause");
return 0;
}