用c语言写一个从键盘输入一个小于1000的正数,要求输出它的平方根(如果平方根不是整数,则输出其整数部分),要求在输入数据后先对其进行检查是否为小于1000的正数,若不是,则要求重新输入。
时间: 2024-11-12 18:35:14 浏览: 6
在C语言中,你可以通过使用数学库`math.h`中的`sqrt()`函数计算一个数的平方根,并利用`<stdio.h>`库中的输入输出功能实现这个需求。下面是一个简单的程序示例:
```c
#include <stdio.h>
#include <math.h>
int main() {
double num;
int floor_root;
// 无限循环直到得到有效的输入
while (1) {
printf("请输入一个小于1000的正数:");
if (scanf("%lf", &num) == 1 && num > 0 && num < 1000) { // 检查输入
floor_root = (int)floor(sqrt(num)); // 计算并取整数部分
printf("该数的平方根的整数部分是:%d\n", floor_root);
break; // 输入有效,跳出循环
} else {
printf("输入无效,请重新输入。\n"); // 如果输入不符合条件,提示用户重新输入
}
// 清理输入缓冲区,防止下一个输入出现问题
scanf("%*[^\n]");
}
return 0;
}
```
在这个程序中,我们首先定义了一个double类型的变量`num`来存储用户输入的数值,然后使用`scanf()`函数获取用户的输入。通过一系列条件判断确保输入的是一个大于0且小于1000的正数,如果是则计算平方根的整数部分,如果不是则提示用户重新输入。
阅读全文