當前位置:首頁 » 編程語言 » c語言switch語句求成績等級
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言switch語句求成績等級

發布時間: 2022-04-26 07:14:29

『壹』 c語言用switch語句進行成績等級判斷

摘要 C語言用switch語句進行成績等級判斷可以採用以下的代碼:

『貳』 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;
}

『叄』 用switch語句怎樣判斷成績的等級

例:用switch來判斷用戶輸入的成績應該屬於哪個范圍。60一下不及格,60-70及格,70-80良好,80-90優秀,90以上學霸


<script type="text/javascript">

var score=parseInt(prompt('請輸入你的成績'));

switch(true){

case score>=0&&score<60:

alert('不及格');

break;

case score>60&&score<=70:

alert('及格');

break;

case score>70&&score<=80:

alert('良好');

break

case score>80&&score<=90:

alert('優秀');

break;

case score>90&&score<=100:

alert('優秀');

break;

default:

alert('輸入不合法');

}

</script>

(3)c語言switch語句求成績等級擴展閱讀:

代碼知識總結:

1.if語句的嵌套要注意大括弧的一一對應,實現if--else的正確匹配;

2.switch...case..break語句不要誤丟break,case後面跟的是變數,且case後面要加空格;

3.運算符要注意優先順序;

4.縮進格式並不能暗示else的匹配;

5.在if和else後面總要用到{},即使只有一條語句。

『肆』 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 來判定學生分數等級

首先指出你的疑問:因為你的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;
}

『陸』 如何用C語言中switch語句編寫學生成績問題

#include<stdio.h>
void
main()
{
double
score;
printf("請輸入分數:\n");
scanf("%lf",&score);
switch((int)(score/10))//switch((int)score/10)出現嚴重錯誤,switch(((int)score)/10)出現嚴重錯誤,
{
case
10:
case
9:printf("A(最好)\n");break;
case
8:printf("B(優秀)\n");break;
case
7:printf("C(良好)\n");break;
case
6:printf("D(及格)\n");break;
case
5:
case
4:
case
3:
case
2:
case
1:
case
0:printf("E(不及格)\n");break;
default:printf("Error!\n");
}
}
例二:
#include<stdio.h>
void
main()
{
char
rank;
printf("請輸入分數等級:(A、B、C、D、E)\n");
scanf("%c",&rank);
switch(rank)//switch((int)score/10)出現嚴重錯誤,switch(((int)score)/10)出現嚴重錯誤,
{
case
'A':printf("A(90~100)\n");break;
case
'B':printf("B(80~89)\n");break;
case
'C':printf("C(70~79)\n");break;
case
'D':printf("D(60~69)\n");break;
case
'E':printf("E(0~59)\n");break;
default:printf("error!\n");break;
}
}

『柒』 c語言switch語句,輸入一個成績,劃分等級,請問下面代碼哪裡錯了

scanf("%f",&grade);
改成
scanf("%d",&grade);
%f代表你輸入的是浮點數,浮點數無法和整數直接進行相等比較,例如1.0在計算機里是不等於1的

『捌』 C語言編程:採用switch語句編寫成績等級:100-90分為A,75-89為B,65-74為C,

摘要 main(){

『玖』 用switch語句統計各等級成績的個數

代碼如下:

switch(grade)

{

case '優':

System.out.println(5);

break;

case '良':

System.out.println(4);

break;

case '中':

System.out.println(3);

break;

case '差':

System.out.println(2);

break;

default:

System.out.println("輸入的等級錯誤");

break;

}

(9)c語言switch語句求成績等級擴展閱讀

switch 語句必須遵循下面的規則:

1、switch 語句中的 expression 必須是一個整型或枚舉類型,或者是一個 class 類型,其中 class 有一個單一的轉換函數將其轉換為整型或枚舉類型。

2、在一個 switch 中可以有任意數量的 case 語句。每個 case 後跟一個要比較的值和一個冒號。

3、case 的 constant-expression 必須與 switch 中的變數具有相同的數據類型,且必須是一個常量或字面量。

4、當被測試的變數等於 case 中的常量時,case 後跟的語句將被執行,直到遇到 break 語句為止。

5、當遇到 break 語句時,switch 終止,控制流將跳轉到 switch 語句後的下一行。

6、不是每一個 case 都需要包含 break。如果 case 語句不包含 break,控制流將會 繼續 後續的 case,直到遇到 break 為止。

7、一個 switch 語句可以有一個可選的 default case,出現在 switch 的結尾。default case 可用於在上面所有 case 都不為真時執行一個任務。default case 中的 break 語句不是必需的。

『拾』 輸入一個百分製成績,利用switch語句編寫程序,要求輸出成績等級A B C D,E。90以上為A

程序:

int main()

{int n;

scanf("%d",&n);

switch(n/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 ");

}

return 0;

}

switch語句和具有同樣表達式的一系列的IF語句相似。很多場合下需要把同一個變數(或表達式)與很多不同的值比較,並根據它等於哪個值來執行不同的代碼。這正是switch語句的用途。

遵守switch語句規則

switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規則:

只能針對基本數據類型中的整型類型使用switch,這些類型包括int、char等。對於其他類型,則必須使用if語句。

switch()的參數類型不能為實型 。

case標簽必須是常量表達式(constantExpression),如42或者'4'。

case標簽必須是惟一性的表達式;也就是說,不允許兩個case具有相同的值。

以上內容參考:網路-switch