请用C语言从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后对其检查是否为小于1000的正数。若不是,则要求重新输入
时间: 2024-11-09 17:31:00 浏览: 29
C语言循环练习题(共23题)
在C语言中,你可以使用`<math.h>`库中的`sqrt()`函数来计算平方根,并结合条件语句来实现输入验证的功能。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <math.h>
int main() {
double num;
printf("请输入一个小于1000的正数:");
while (!(scanf("%lf", &num) == 1 && num > 0 && num < 1000)) { // 检查输入的有效性
if (ferror(stdin)) {
perror("Error reading input.");
return 1; // 输入错误时退出程序
}
printf("输入无效,请重新输入:");
clearerr(stdin); // 清除输入缓冲区错误标记
}
double sqrt_num = sqrt(num);
int integer_part = floor(sqrt_num); // 取整数部分
printf("输入数字的平方根是 %d.\n", integer_part);
return 0;
}
阅读全文