我想創建一個exponent函數,它似乎沒有按預期工作。對不起,如果我不明白一些基本的東西,我只是在互聯網上學習點點滴滴。功能不正常?
float x;
float y;
float z;
int h;
int j;
float exponent (float a, float b)
{
float r;
while(b > 1)
{
r = a * a;
b = b - 1;
}
return (r);
}
^帶有變量的函數的片段。
cout << "EXPONENT MODE\n\n";
cout << "Please enter a number: ";
cin >> x; system("CLS");
cout << "Please enter another number as the exponent for the first: ";
cin >> y;
z = exponent(x, y);
cout << "Calculating the answer, please wait";
Sleep(1000);
cout << ".";
Sleep(1000);
cout << ".";
Sleep(1000);
cout << ".";
Sleep(1000);
cout << "\n\nYour answer is : ";
cout << r;
Sleep(5000);
system("CLS");
cout << "Would you like to calculate another set of numbers? (yes = 1, no = 2) : ";
cin >> h;
system("CLS");
^第I部分要在控制檯上執行。(只是代碼)
基本上,我希望用戶輸入2號,第一(X)作爲基數,所述第二(Y )是指數。程序應該輸入x作爲a和y作爲b並運行該函數。發生了什麼事:輸入1:5,輸入2:3,預期:125,收到:25.我在考慮改變while(b> 0)。如果你們能幫上忙,那就太棒了! (也不要判斷我在system("CLS")
的代碼)
你的指數函數將只計算正方形('a * a')。 – congusbongus
...重複。 *相同*正方形。而當你修復它時,你最好在將'r'初始化爲'1.0'。當然,這不會使用分數指數,所以'b = 1.5'就會失敗。 – WhozCraig
我看到了我的數學錯誤。但是如果我輸入5,3不應該輸出爲25 * 25,因爲5 * 5 = 25? –