用c语言实现从键盘输入一个小于1000的正数,要求输出它的平方根(如果平方根不是整数,则输出其整数部分),要求在输入数据后先对其进行检查是否小于1000的正数,若不是,则要求重新输入
时间: 2024-10-16 17:07:34 浏览: 32
在C语言中,你可以通过`math.h`库来计算平方根,并结合循环结构来进行用户输入验证。以下是实现该功能的一个示例代码:
```c
#include <stdio.h>
#include <math.h>
double get_square_root() {
double num, sqrt_num;
printf("请输入一个小于1000的正数:");
scanf("%lf", &num);
while (num < 0 || num >= 1000) {
printf("输入错误!请确保数值大于0且小于1000。\n");
scanf("%lf", &num);
}
sqrt_num = sqrt(num); // 计算平方根
if (sqrt_num == floor(sqrt_num)) { // 如果是整数
return sqrt_num;
} else {
return floor(sqrt_num); // 返回整数部分
}
}
int main() {
double result = get_square_root();
printf("输入数字 %lf 的平方根是 %.0lf\n", num, result);
return 0;
}
```
在这个程序里,我们首先获取用户的输入并检查它是否满足条件。如果不满足,会提示用户重新输入。然后我们计算输入数值的平方根,并判断是否为整数。如果是整数,就直接返回;如果不是,取向下取整作为结果。
阅读全文