今天的第一篇是用來補昨天的,不知道為啥昨天寫的沒有儲存。今天寫的比較少,只是在原來的基礎上夾了乙個冪乘,修復了選擇運算模式的時候輸入浮點數出錯的問題,然後把所有整形運算擴充到可以進行浮點運算。
貼**:
#define _crt_secure_no_warnings /*預定義常量,解決scanf不安全的報錯,需要放在#include 之前*/
#include int main()
else
}while (getchar() != '\n')
/*進入運算*/
if (flag == 1)
else if (flag == 2)
else if (flag == 3)
else if (flag == 4)
else
}return 0;
}/*求和*/
int add(void)
while (getchar() != '\n');
/*求和*/
for (j = 0, add = 0; j < i; j++)
printf("add=%g\n\n", add);
return 0;
}int sub(void)
while (getchar() != '\n');
/*求差*/
for (j = 1, sub = a[0]; j < i; j++)
printf("sub=%g\n\n", sub);
return 0;
}int mul(void)
while (getchar() != '\n');
/*求積*/
for (j = 0, mul = a[0]; j < i; j++)
printf("mul=%g\n\n", mul);
return 0;
}int div(void)
while (getchar() != '\n');
/*求商*/
for (j = 1, div = a[0]; j < i; j++)
printf("div=%g\n\n", div);
return 0;
}int mi(void)
while (getchar() != '\n');
/*冪乘*/
for (j = 0, mi = a[0]; j < (a[1] - 1); j++)
printf("mi=%g\n\n", mi);
return 0;
}
收穫
用scanf("%d", &flag)語句對flag賦值的時候,我們期望使用程式的人能夠按照我們的要求輸入整數,但如果使用者偏偏不按照我們的設想進行,那我們就得自己做好擦屁股的準備,如果輸入的是整數,皆大歡喜,如果輸入的是浮點數,如1.1,程式會把1賦給flag,然後保留後面的.1,一次賦給後面的scanf要賦值的變數,這就會造成後面scanf的輸入錯誤,怎麼來解決呢,用getchar()把後面多餘的部分吃掉
不想浮點數顯示多餘的0時,用%g輸出,但有時會省略部分數字
進擊的C語言 簡單的計算器(二)
本例項與上例的區別在於表示式中有括號。其實每個括號中的內容都可以看作是乙個單獨的表示式 也可能又帶括號 考慮到這一點,我們可以把程式寫為遞迴呼叫的方式,遇到括號則呼叫自己計算括號中表示式的值。相應的程式 如下 include stdio.h include stdlib.h float get nu...
進擊的C語言 簡單的計算器
程式設計,用來計算使用者輸入的四則運算表示式的值,只含加減乘除,不含括號。例項解析 表示式中含有加減乘除,乘除的優先級別比加減高。我們以鍵盤輸入 3.12 2 3.5 4 8 2 3 6為例來說明演算法。式子中的2 3.5 4 8 2和3 6要先算,算完之後整個表示式將只有4個資料項,剩下的問題就很...
二 php製作簡易的計算器
步驟 1 寫出兩個文字框,中間用乙個下拉列表select作為計算按鈕 2 用 set 或 get 方式獲取兩個文字框的資料及按鈕資訊進行運算 3 在輸出結果的過程中,保證兩個文字框中進行計算的資料依然存在 4 新建乙個文字框用於儲存計算輸出的結果 5 在三個文字框中用value的值獲取得到的數值 6...