我正在編寫一個程序,讀入用戶輸入的數字,檢查它是否在0到100之間,如果它是數字是平方根。如果該數字小於0,則會打印一條錯誤消息。如果數字在100到200之間,則找到該號碼的自然對數,如果超過200,則循環終止。當嘗試嵌套if語句執行while循環時發生未知語法錯誤
#include <stdio.h>
#include <math.h>
int main (void)
{
float num;
double x, y;
do {
printf("Please enter a number \n");
scanf("%f", &num);
if (num > 0 && num <= 100)
{
x = sqrt(num);
printf("The square root of the number entered is %f \n", x);
}
else if (num <= 0)
{
printf("Please enter a positive number \n");
}
else (num > 100)
{
y = log(num);
printf("The natural log of the number entered is %f \n", y);
}
} while (num <= 200);
return 0;
}
我遇到的問題是,當我構建解決方案時,我得到一個錯誤聲明,說a;在
else (num > 100)
,這是什麼原因,因爲我不希望那裏是一個需要在這裏後,預計?
你爲什麼要用'double'混合'float'?除非有令人信服的理由,否則在2016年,請使用'double'。 –