題目是:試設計一程式,輸入一成績n,判斷n屬那一級。F級:0-59,D級:60-69,C級:70-79,B級:80-89,A級:90-100。
我寫的程式:
#include
using namespace std;
int n;
int main()
{
cout<<\"please Enter a number\";
cin>>n;
if (0<=n<=59)
cout<
if (60<=n<=69)
cout<
if (70<=n<=79)
cout<
if (80<=n<=89)
cout<
else
cout<
return 0;
}
為什麼怪怪的...
2006-07-24 13:33:15 · 2 個解答 · 發問者 ? 2 in 電腦與網際網路 ➔ 程式設計
ps..1.遇到多重判斷,請練習用if...else if....else;2.你的邏輯判斷式有問題,0<=n<=59,在c++裡這樣用會有問題,應該要用n>=0&&n<=59這樣才是正確的。#include
2006-07-24 14:27:57
·
answer #1
·
answered by Almond 6
·
0⤊
0⤋
這題很有規律,可以不用一堆 if
char s[] = {"EDCBA"};
if (n < 60) n = 'F';
else if (n==100) n = 'A';
else n = s[n/10] + 'D' - 6;//可能是 5 或 7 。自己試一下。
或(因為只有 11 種成績,不多,以用下列寫法)
char s[] = {"FFFFFDCBAA"};
if (n < 60) n = 'F';
else if (n==100) n = 'A';
else n = s[n/10];
2006-07-24 23:53:27 補充:
哎呀,我忘了,沒有'E'!
第一個作法裡,"EDCBA"要改成"DCBA"
2006-07-24 23:56:07 補充:
白痴,第二個作法也錯!
char s[] = {"FFFFFDCBAA"};
n = s[n/10];
就好了!
第一個作法的最後一列,只要
n = s[n/10];
就可以了!
熬了 N 夜,真的該去睡了!不要再在這裡誤導別人 + 丟人現眼!~.~"
程式若還有小錯,請包含。
2006-07-24 19:52:27 · answer #2 · answered by ? 7 · 0⤊ 0⤋