用C语言写一段程序 提示用户输入 测向方位、起点、间隔、检测输入的值是否是整数或小数,或负数,如果不是重新输入直到输入正确为止。
时间: 2024-03-20 20:45:32 浏览: 80
好的,以下是用C语言编写的程序:
```c
#include <stdio.h>
int main() {
float azimuth, start, interval;
// 获取 测向方位、起点、间隔 的输入并验证
while (1) {
printf("请输入 测向方位:");
if (scanf("%f", &azimuth) == 1) {
break;
}
printf("输入错误,请重新输入。\n");
while (getchar() != '\n') continue; // 清除输入缓存
}
while (1) {
printf("请输入 起点:");
if (scanf("%f", &start) == 1) {
break;
}
printf("输入错误,请重新输入。\n");
while (getchar() != '\n') continue; // 清除输入缓存
}
while (1) {
printf("请输入 间隔:");
if (scanf("%f", &interval) == 1) {
break;
}
printf("输入错误,请重新输入。\n");
while (getchar() != '\n') continue; // 清除输入缓存
}
// 输出输入的值
printf("测向方位:%f\n", azimuth);
printf("起点:%f\n", start);
printf("间隔:%f\n", interval);
return 0;
}
```
程序中使用了 `scanf()` 函数获取用户输入,并通过循环和条件判断验证输入的值是否是整数或小数,以及是否为负数。如果输入不符合要求,则输出错误提示并要求用户重新输入。同时,使用了 `getchar()` 函数清除输入缓存,避免输入错误的值影响后续输入。最后,输出输入的值。
阅读全文