#include <stdioh>
#include <stdlibh>
int main ( ){
int grade,rate;
printf("所得成绩:\n");
scanf("%d",&grade);
rate=(grade>=60)+(grade>=70)+(grade>=80)+(grade>=90);
switch(rate){
case 0:
printf("输出等级:E");
break;
case 1:
printf("输出等级:D");
break;
case 2:
printf("输出等级:C");
break;
case 3:
printf("输出等级:B");
break;
default:
printf("输出等级:A");
}
return 0;
}
扩展资料:
代码知识总结:
1if语句的嵌套要注意大括号的一一对应,实现if--else的正确匹配;
2switchcasebreak语句不要误丢break,case后面跟的是变量,且case后面要加空格;
3运算符要注意优先级;
4缩进格式并不能暗示else的匹配;
5在if和else后面总要用到{},即使只有一条语句。
参考资料:
百度百科-switch
public class Degree {
public String getDegree(int score) {
if (score < 0 || score > 100) {
return "分数格式非法";
}
int degree = score / 10;
switch (degree) {
case 10:
case 9:
return "优";
case 8:
return "良";
case 7:
return "中";
case 6:
return "及格";
default:
return "不及格";
}
}
public static void main(String[] args) {
Degree d = new Degree();
String result = dgetDegree(80);
Systemoutprintln(result);
}
}
用下面的语句你看可以不?
dim
n
as
int
n=text1text
if
n<79
or
n>70
then
msgbox"
三等奖"
else
if
n<89
or
n>80
then
msgbox"二等奖"
elseif
n<99
or
n>90
then
msgbox"一等奖"
else
msgbox"输入有误!"
end
if
给定一个百分制的分数 输出相应的等级
分以上 A级
~ B级
~ C级
~ D级
分以下 E级
import java util Scanner;
class Mark{
public static void main(String[] args){
System out println(&# ;请输入一个分数&# ;);
//定义输入的分数为 mark 且分数会有小数
double mark;
Scanner scanner = new Scanner(System in);
mark = scanner nextDouble();
//判断是否有输入错误
if(mark< ||mark> ){
System out println(&# ;输入有误! &# ;);
System exit( );
}
/判断分数的等级
分以上者A级 ~ 分者 B级 ~ 分者 C级 ~ 者 D级 分以下 E级 /
if (mark>= ) System out println(&# ;this mark is grade \&# ;A\&# ; &# ;);
else if (mark>= ) System out println(&# ;this mark is grade \&# ;B\&# ; &# ;);
else if (mark>= ) System out println(&# ;this mark is grade \&# ;C\&# ; &# ;);
else if (mark>= ) System out println(&# ;this mark is grade \&# ;D\&# ; &# ;);
else System out println(&# ;this mark is grade \&# ;E\&# ; &# ;);
}
lishixinzhi/Article/program/sjjg/201404/30579
VB中添加一个按钮点击就可以了
Private Sub Command1_Click()
a = InputBox("请输入分数:")
If IsNumeric(a) And a <= 100 And a >= 0 Then
Select Case a
Case 0 To 59
dd = "E"
Case 60 To 69
dd = "D"
Case 70 To 79
dd = "C"
Case 80 To 89
dd = "B"
Case 90 To 100
dd = "A"
Case Else
dd = "成绩错误!"
End Select
MsgBox dd
Else
MsgBox "你输入的成绩非法"
End If
End Sub
给出的问题不严密:
只有大于和小于,没有等于的情况,比如说平均分在50到70之间,然后第2个和第3个数之和正好等到于140分时,一楼上程序便没有输出,我想是题目出得不太严密吧,不可能出题者是故意把这些情况漏掉吧!所以呢,经过笔者的修改呢,我觉得以下程序能包括出题者的全部意思:
如果题目非我所想,那你也可以自己根据情况改一下那几个>或者=号,你自己看看吧!
#include
<stdioh>
main()
{
float
a[3],i,average;
for(i=0;i<3;i++)
scanf("%f",&a[i]);
average=(a[0]+a[1]+a[2])/30;
if(average>=90)
printf("Grade=A");
if(average>=70&&average<90&&a[2]>=90)
printf("Grade=A");
if(average>=70&&average<90&&a[2]<90)
printf("Grade=B");
if(average>=50&&average<70&&a[1]+a[2]>=140)/这个地方与以一楼上程序不同,题目要求的是第2和3个数之和要大于140,一楼上的是第1和2个之和大于140,与题意不合(因为数组是从0开始计数的)/
printf("Grade=C");
if(average>=50&&average<70&&a[1]+a[2]<140)
printf("Grade=D");
if(average<50)
printf("Grade=F");
}
首先指出你的疑问:因为你的switch语句在最后一个if语句中,也就是说,当分数为s>=0&&s<=49时才执行switch语句,此时x==5。于是就执行case
5了。
修改:把switch语句与if语句并列。
更好的:你为什么用了if语句还要用switch语句呢,直接在if语句中输出不就行了吗?
还有输入quit退出的问题:建议使用scanf在接收字符串n。接收字符串n后判断是否等于”quit“,如果等于则break,退出while循环,否则往下执行。判断时可以用strcmp函数进行判断,也可以逐个的对字符串n进行判断。
为什么要用scanf而不用gets:当进行下一次的输入时,上次输入完分数后的回车会被这次的gets给吃掉;于是就会发现,当进行这次的输入时,”please
enter
your
name“,
”please
enter
your
score“会同时出现。
下面是我帮你修改的程序,基本上没动。
#include
#include
int
main()
{
int
s,x;
char
n[5];
while(1)
{
printf("\n
please
enter
your
name:");
scanf("%s",
n);
if(n[0]=='q'
&&
n[1]=='u'
&&
n[2]=='i'
&&
n[3]=='t')
{
break;
}
else
printf("\n
please
enter
your
score");
scanf("%d",&s);
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;
}
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;
}
这是我自己随意修改的:
#include
#include
#include
int
main()
{
int
s,x;
char
n[5];
while(1)
{
printf("\n
please
enter
your
name:");
scanf("%s",
n);
if(strcmp(n,
"quit")==0)
{
break;
}
else
printf("\n
please
enter
your
score");
scanf("%d",&s);
if(s>=80&&s<=100)
{
printf("HD");
}
else
if(s>=70&&s<=79)
{
printf("D");
}
else
if(s>=60&&s<=69)
{
printf("C");
}
else
if(s>=50&&s<=59)
{
printf("C");
}
else
if(s>=0&&s<=49)
{
printf("N");
}
else
{
printf("\n
please
enter
a
number
between
0
and
100");
}
}
return
0;
}
以上就是关于用switch语句怎样判断成绩的等级全部的内容,包括:用switch语句怎样判断成绩的等级、采用switch语句设计一个程序,对给定的学生成绩score评判其等级这个程序怎么编啊、VB程序从键盘输入分数判断学生等级等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)