使用c语言设计一个小程序,帮助我们解决今天的午餐去哪里吃的问题。 比如:输入“10元快餐” “兰州拉面” “烧鹅饭” “智能餐厅” “美团外卖” 随机抽取一个地方
时间: 2023-09-25 11:13:40 浏览: 78
好的,以下是一个使用 C 语言编写的示例程序,可以帮助您解决午餐选择问题:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
char options[5][20] = { "10元快餐", "兰州拉面", "烧鹅饭", "智能餐厅", "美团外卖" };
int num_options = 5;
char user_input[20];
// 获取用户输入
printf("请输入您想吃的餐厅或餐饮类型:\n");
fgets(user_input, 20, stdin);
// 随机选择一个选项
srand(time(NULL));
int index;
if (user_input[0] == '\n') {
index = rand() % num_options;
} else {
int i;
for (i = 0; i < num_options; i++) {
if (strstr(options[i], user_input) != NULL) {
break;
}
}
if (i == num_options) {
printf("没有找到匹配的选项!\n");
return 0;
} else {
index = i;
}
}
// 输出结果
printf("今天的午餐去%s吃吧!\n", options[index]);
return 0;
}
```
程序首先定义了五个选项,并且使用一个二维字符数组来存储这些选项。程序使用 `fgets` 函数获取用户输入,并且使用 `strstr` 函数来查找用户输入是否与选项匹配。如果找到了匹配的选项,程序就选择了这个选项;如果没有找到匹配的选项,程序会输出提示信息。如果用户没有输入选项,程序会随机选择一个选项。
程序使用 `srand` 函数和 `rand` 函数来生成随机数。为了使每次生成的随机数不同,程序使用了 `time` 函数来获取当前时间,并且将其作为 `srand` 函数的参数。
注意:在使用 `fgets` 函数获取用户输入时,需要注意字符串的长度和结尾的换行符。在本示例程序中,我们假设用户输入的字符串最长不超过 20 个字符,因此我们定义了一个长度为 20 的字符数组来存储用户输入。当用户输入时,字符串的结尾会自动添加一个换行符,因此我们需要在比较字符串时忽略这个换行符。
希望这个示例程序可以帮助您解决午餐选择问题。