第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么不管我設置score為多少分,輸出結果都是:等級D 呢?

#include<stdio.h>

int main() {

int score = 87;?

?switch(score){

? ?case 1:score>=90&&score<=100;printf("等級A") ;break;

? case2:score>=80&&score<=90;printf("等級B"); break;

? case3:score>=60&&score<80; printf("等級C");break;

? ?default:score<60; printf("等級D");break;

?} ??

?return 0;?

}

正在回答

3 回答

因為score的原始值是87,而switch(score)是直接判斷score的值,case 1 ?就代表當score的值為1的時候,case 1: ?冒號后面即是score == 1時執(zhí)行的語句,所以說最score落到default里了,輸出等級D。下面是根據(jù)源代碼做的一點修改就能實現(xiàn)判斷。只需要判斷score的十位數(shù)

#include<stdio.h>

int?main()
{
????int?score?=?87;
????score?=?score/10;????????/*下面的break好理解,關鍵就是這里。因為case后面帶的值就是switch()括號里面的變量所代表的值,所以我這里做的處理是把score除10,因為score為int整型,所以除10之后個位數(shù)自動刪去,得到8。這個8便能用到下面的switch語句中了。*/
??????switch(score)????????????//這里score=8;
????{
????????case?10:
????????case?9:
????????????printf("等級A");????????//當score=10或者9的時候,得到『等級A』
????????????break;
????????case?8:
????????????printf("等級B");????????//當score=8時,得到『等級B』
????????????break;????????????
????????case?7:
????????case?6:?
????????????printf("等級C");????????//當score=7或6時,得到『等級C』
????????????break;
????????default:
????????????printf("等級D");????????//在上面的score取值情況外,全部得到『等級D』
????????????break;????
????}
????????????????????????????????????/*所以說整個對score的值是做了一個處理的,因為只需要判斷區(qū)間,即只需要判斷score的十位數(shù),所以做上面的除10的處理。*/
????return?0;
}

如果懂了的話就采納一下喲!

1 回復 有任何疑惑可以回復我~
#1

半暖微涼 提問者

非常感謝!
2015-12-16 回復 有任何疑惑可以回復我~
#2

Mr_Happens 回復 半暖微涼 提問者

沒事,嘿嘿,我是計算機專業(yè)的,平時也會學C語言,不過才大一,還很菜呢。^_^
2015-12-16 回復 有任何疑惑可以回復我~

你好像沒理解case后面應寫什么。

switch會將score的值與下面case后面的值(case之后,冒號之前)做匹配,匹配上就執(zhí)行那個case冒號后面的語句。score和所有case都不匹配的話,就執(zhí)行default: 后面的語句。

所以,你這樣寫,三個case分別是1 2 3,只有在score是1 2 3時才會執(zhí)行相應case后的語句。而score是87,只會跳到default那里,執(zhí)行default后面的語句。

0 回復 有任何疑惑可以回復我~

public static void main(String[] args) {


int score = 1;?

switch(score)

{?

case 1:

System.out.println("A");

break;

case 2:

System.out.println("B");

default :

System.out.println("C");

}?

}


}

原理一樣,湊合看

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么不管我設置score為多少分,輸出結果都是:等級D 呢?

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號