从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其进行检查是否为小于1000的正数,若不是,则要求重新输入。C语言
时间: 2024-12-02 13:17:43 浏览: 13
取最小值函数-VFP常用函數
在C语言中,你可以使用`<math.h>`库中的`sqrt()`函数来计算平方根,并通过`<ctype.h>`库的`isdigit()`函数判断输入的字符是否为数字。下面是一个简单的程序示例:
```c
#include <stdio.h>
#include <math.h>
#include <ctype.h>
int main() {
double num;
int valid_input = 0;
do {
printf("请输入一个小于1000的正数:");
if (scanf("%lf", &num) != 1 || num <= 0 || num >= 1000) { // 检查输入有效性
printf("输入错误,请输入一个大于0且小于1000的数。\n");
while (getchar() != '\n'); // 清除回车
} else {
valid_input = 1;
double sqrt_num = sqrt(num); // 计算平方根
if (sqrt_num == floor(sqrt_num)) { // 判断是否为整数
printf("输入的数 %f 的平方根是整数 %d.\n", num, floor(sqrt_num));
} else {
printf("输入的数 %f 的平方根是 %.2f.\n", num, sqrt_num);
}
}
} while (!valid_input);
return 0;
}
```
这个程序会持续提示用户输入,直到他们输入满足条件的正数为止。如果输入的是非正数或超过1000,程序会显示错误信息并要求重新输入。
阅读全文