【发布时间】:2016-11-14 01:31:40
【问题描述】:
我正在编写一个程序,它读取用户输入的数字,检查它是否在 0 到 100 之间,如果是,则该数字是平方根。如果数字小于 0,则会打印一条错误消息。如果数字在 100 和 200 之间,则找到该数字的自然对数,如果大于 200,则循环终止。
#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)
这是什么原因,因为我不希望这里需要一个?
【问题讨论】:
-
你为什么要把
float和double混在一起?在 2016 年,请使用double,除非有令人信服的理由不这样做。
标签: c visual-studio if-statement