用选择结构程序设计写一串C语言代码解决下列问题,从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输 出其整数部分)。要求在输入数据后先对其进行检查是否为小于1000 的正数。若不 是,则要求重新输入
时间: 2024-11-25 21:12:32 浏览: 9
C语言程序设计-编写自定义函数fun。输入一个华氏温度,要求输出摄氏温度。 公式为 c=5(f-32)/9。
5星 · 资源好评率100%
你可以使用C语言的条件语句(if-else)结合`<math.h>`库中的`sqrt()`函数来实现这个需求。以下是完整的代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
int num;
// 循环要求用户输入并检查有效性
while (1) {
printf("请输入一个小于1000的正数:");
if (scanf("%d", &num) == 1 && num > 0 && num < 1000) { // 检查输入的数值范围
double square_root = sqrt(num);
int floor_sqrt = (int)square_root; // 取整数部分
printf("输入的数字 %d 的平方根是 %.2f,整数部分是 %d\n", num, square_root, floor_sqrt);
break; // 输入有效,跳出循环
} else {
printf("输入无效,请重新输入。\n"); // 输入不符合要求,提示用户重新输入
// 清空输入缓冲区
scanf("%*[^\n]");
}
}
return 0;
}
```
在这个代码中,我们首先读取用户的输入,并使用`if`语句判断它是否满足条件(正数且小于1000)。如果条件满足,我们就计算并打印出平方根及其整数部分;如果不满足,就提示用户重新输入,并清除输入缓冲区,防止下次输入包含上一次的数据。
阅读全文