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

c語言switch成績

發布時間: 2022-02-12 15:14:16

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