用c写一个识别到输入的不是备选项的就要求重新输入的
时间: 2024-10-07 14:07:08 浏览: 19
在C语言中,你可以通过循环结构结合条件判断来实现这个功能。这里是一个简单的示例,它会提示用户输入一个选项,并检查输入是否在预设的备选列表里。如果不是,程序将要求用户重新输入。
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_OPTIONS 5 // 假设最多有5个备选选项
int options[] = {1, 2, 3, 4, 5}; // 预设备选选项
// 主函数
int main() {
int user_input;
char input[50]; // 存储用户输入的缓冲区
do {
printf("请输入一个备选选项(1-%d): ", MAX_OPTIONS);
fgets(input, sizeof(input), stdin); // 获取用户输入并去除换行符
input[strcspn(input, "\n")] = '\0'; // 清理换行符
user_input = atoi(input); // 转换输入为整数
if (user_input < 1 || user_input > MAX_OPTIONS) {
printf("无效的输入,选项不在范围内,请重新输入。\n");
}
} while (user_input < 1 || user_input > MAX_OPTIONS);
printf("你选择了: %d\n", user_input);
return 0;
}
阅读全文