我正在學習一些 C 的基礎知識(我實際上是在做哈佛的 cs50x),我寫了這段代碼:
#include <cs50.h>
#include <stdio.h>
int main(void) {
while(0 == 0){
printf("1. SUM\n2. SUBSTRACTION\n3. MULTIPLICATION\n4. DIVISION\n5. QUIT\n");
int a = get_int("Choose one option: ");
if(a == 1) {
int x = get_int("x: ");
int y = get_int("y: ");
int sum = x y;
int sub = x - y;
int division = x/y;
int mul = x*y;
printf("Result = %i\n\n", sum);
}
else if (a == 2) {
int x = get_int("x: ");
int y = get_int("y: ");
int sum = x y;
int sub = x - y;
int division = x/y;
int mul = x*y;
printf("Result = %i\n\n", sub);
}
else if (a == 3) {
int x = get_int("x: ");
int y = get_int("y: ");
int sum = x y;
int sub = x - y;
int division = x/y;
int mul = x*y;
printf("Result = %i\n\n", mul);
}
else if (a == 4) {
int x = get_int("x: ");
int y = get_int("y: ");
int sum = x y;
int sub = x - y;
int division = x/y;
int mul = x*y;
printf("Result = %i\n\n", division);
}
else if (a == 5) {
printf("Alright! See you soon!\n");
break;
}
else {
printf("Invalid Input\n");
break;
}
}
}
它完全按照我的意愿作業,但我覺得它可以用更好的方式撰寫。
我真的不喜歡 int 變數的所有重復,我認為它可以以某種方式進行優化,但不知道如何。
誰能幫我?
提前謝謝你:D
uj5u.com熱心網友回復:
在每種情況下計算所有結果是沒有用的。我建議運行
int x = get_int("x: ");
int y = get_int("y: ");
在 if 條件開始并且變數包含結果之前也非常無用,因為您可以在 printf 函式中進行計算,如下所示:
printf("Result = %i\n\n", x y);
最后,您可以將 if 陳述句更改為switch case,這將使代碼看起來更干凈,從性能方面來說,switch case 部分不會有任何影響,但其他更改會。
就像 Weather Vane 評論的那樣,你可以這樣做while(1)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/406058.html
標籤:
