iT邦幫忙

0

請問我該如何修改程式使其能判斷100和0? 謝謝

#include <stdio.h>

int main(void) {

int b,a;
printf("Enter a numerical grade: ");

scanf("%1d%1d", &a, &b);

switch (a){
	
	case 1:
	case 2:
	case 3:
	case 4:	
	case 5:
		printf("Letter grade: F");
		break;
	case 6:
		printf("Letter grade: D");
		break;
	case 7:
		printf("Letter grade: C");
		break;
	case 8:
		printf("Letter grade: B");
		break;
	case 9:
		printf("Letter grade: A");
		break;
		

}
return 0;

}

2 個回答

1
海綿寶寶
iT邦大神 1 級 ‧ 2020-10-02 21:28:10
最佳解答

是說,那個 b 要做什麼用

#include <stdio.h>

int main(void) {

int b,a;
printf("Enter a numerical grade: ");

scanf("%d %d", &a, &b);

switch (a){

case 0:
    printf("case 0");
    break;
case 1:
case 2:
case 3:
case 4:	
case 5:
	printf("Letter grade: F");
	break;
case 6:
	printf("Letter grade: D");
	break;
case 7:
	printf("Letter grade: C");
	break;
case 8:
	printf("Letter grade: B");
	break;
case 9:
	printf("Letter grade: A");
	break;
case 100:
    printf("Case 100");
    break;

}
return 0;

}

看更多先前的回應...收起先前的回應...
ktro12 iT邦新手 5 級 ‧ 2020-10-03 09:39:54 檢舉

謝謝,我原本想說打兩個數字分開判定

ktro12 iT邦新手 5 級 ‧ 2020-10-03 10:04:40 檢舉

這個程式這樣沒辦法判定其他的

ktro12 iT邦新手 5 級 ‧ 2020-10-03 10:05:13 檢舉

照您的寫法變成只能夠判定0和100

請問我該如何修改程式使其能判斷100和0? 謝謝

題目就是這樣,謝謝

ktro12 iT邦新手 5 級 ‧ 2020-10-03 22:05:46 檢舉

那是我寫的不夠清楚sorry,我是想要都能夠判斷

所以要都能夠判斷那些數字?
上面的程式已經可以判斷0..9和100

ktro12 iT邦新手 5 級 ‧ 2020-10-03 22:35:43 檢舉

100到90 89到80 79到70 69到60

ktro12 iT邦新手 5 級 ‧ 2020-10-03 22:36:23 檢舉

我原本的程式無法判定0跟100

#include <stdio.h>

int main(void) {

int b,a;
printf("Enter a numerical grade: ");

scanf("%d %d", &a, &b);

switch (a) {
case 0 ... 59:
printf("Letter grade: F");
break;
case 60 ... 69:
printf("Letter grade: D");
break;
case 70 ... 79:
printf("Letter grade: C");
break;
case 80 ... 89:
printf("Letter grade: B");
break;
case 90 ... 100:
printf("Letter grade: A");
break;
}
return 0;

}

ktro12 iT邦新手 5 級 ‧ 2020-10-03 23:31:01 檢舉

這個程式輸入一個數字無法執行,請問該如何修改成一個數字就能執行

ktro12 iT邦新手 5 級 ‧ 2020-10-04 00:02:34 檢舉

Input Data:

89

Except:

Enter a numerical grade: Letter grade: B

Actual result:

Enter a numerical grade:

#include <stdio.h>

int main(void) {

int b,a;
printf("Enter a numerical grade: ");

scanf("%d", &a);

switch (a) {
case 0 ... 59:
printf("Letter grade: F");
break;
case 60 ... 69:
printf("Letter grade: D");
break;
case 70 ... 79:
printf("Letter grade: C");
break;
case 80 ... 89:
printf("Letter grade: B");
break;
case 90 ... 100:
printf("Letter grade: A");
break;
}
return 0;

}

ktro12 iT邦新手 5 級 ‧ 2020-10-04 00:14:04 檢舉

太感謝你了,真的很謝謝

0
小魚
iT邦大師 1 級 ‧ 2020-10-03 00:29:59

%d直接判斷整個數字不好嗎?
為什麼一定要用%1d?

看更多先前的回應...收起先前的回應...
ktro12 iT邦新手 5 級 ‧ 2020-10-03 09:08:04 檢舉

但是直接判斷整個數字怎麼用switch啊?

小魚 iT邦大師 1 級 ‧ 2020-10-03 13:15:42 檢舉

為什麼一定要用switch呢?

ktro12 iT邦新手 5 級 ‧ 2020-10-03 22:05:59 檢舉

練習阿

小魚 iT邦大師 1 級 ‧ 2020-10-03 22:18:46 檢舉

我不知道是有規定還是怎麼樣,
不過我覺得應該是針對需求去找適合的方式,
不是已經決定方法了再來要求需求配合吧...
這如果用if其實任何數字都可以處理的.

我們一般會需要寫程式也是先有了需求,
再來思考要如何寫程式達成我們的需求吧...

ktro12 iT邦新手 5 級 ‧ 2020-10-03 22:37:26 檢舉

就練習規定要switch,所以我就卡關了

我要發表回答

立即登入回答