从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其进行检查是否为小于1000的正数,若不是,则要求重新输入,要求使用C语言
时间: 2024-10-27 12:09:38 浏览: 49
cpp代码-求一个正整数的平方根
在C语言中,你可以使用`<math.h>`头文件里的`sqrt()`函数来计算平方根,然后结合条件判断来实现输入验证的功能。以下是一个简单的示例程序,展示了如何实现这个需求:
```c
#include <stdio.h>
#include <math.h>
int main() {
double num;
do {
printf("请输入一个小于1000的正数: ");
if (scanf("%lf", &num) != 1 || num <= 0 || num >= 1000) {
printf("输入错误,请输入一个大于0且小于1000的数。\n");
// 清空输入缓冲区,防止再次输入导致的问题
scanf("%*[^\n]");
}
} while (num <= 0 || num >= 1000);
double sqrt_num = sqrt(num);
int integer_part = (int)sqrt_num; // 取整数部分
printf("输入数字的平方根是: %d\n", integer_part);
return 0;
}
```
在这个程序中,我们使用了一个do...while循环来不断提示用户输入直到满足条件。如果输入不符合要求,`scanf()`会失败并返回0,我们会打印错误信息并清空输入缓冲区。一旦得到有效的输入,我们计算其平方根并取整数部分输出。
阅读全文