再用c语言写一个景区查找函数
时间: 2024-01-20 08:04:01 浏览: 74
用c语言设计查找算法
好的,以下是一个简单的景区查找函数的示例代码,供参考:
```c
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 100
struct Spot {
char name[50];
char city[20];
int rating;
};
struct Spot spots[MAX_SIZE];
int num_spots = 0;
void addSpot() {
if (num_spots >= MAX_SIZE) {
printf("无法添加,已达到最大数量!\n");
return;
}
printf("请输入景点名称:");
scanf("%s", spots[num_spots].name);
printf("请输入所在城市:");
scanf("%s", spots[num_spots].city);
printf("请输入评分(1-10):");
scanf("%d", &spots[num_spots].rating);
num_spots++;
printf("已添加!\n");
}
void searchSpot() {
if (num_spots <= 0) {
printf("无法查找,没有景点!\n");
return;
}
char name[50];
printf("请输入要查找的景点名称:");
scanf("%s", name);
int found = 0;
for (int i = 0; i < num_spots; i++) {
if (strcmp(spots[i].name, name) == 0) {
printf("景点名称:%s\n所在城市:%s\n评分:%d\n", spots[i].name, spots[i].city, spots[i].rating);
found = 1;
break;
}
}
if (!found) {
printf("未找到该景点!\n");
}
}
int main() {
int choice = 0;
while (1) {
printf("请选择操作:\n");
printf("1. 添加景点\n");
printf("2. 查找景点\n");
printf("3. 退出\n");
printf("请选择:");
scanf("%d", &choice);
switch (choice) {
case 1:
addSpot();
break;
case 2:
searchSpot();
break;
case 3:
printf("谢谢使用!\n");
return 0;
default:
printf("无效的选择!\n");
}
printf("\n");
}
}
```
这个程序中添加了一个新的函数 `searchSpot()`,用于根据用户输入的景点名称查找并打印对应的景点信息。如果找到了对应的景点,则会输出景点名称、所在城市和评分;否则会提示用户未找到该景点。
主函数中同样使用了一个循环来不断接收用户的选择,以及一个空行来提高程序输出的可读性。
需要注意的是,在实际应用中,查找景区时可能需要使用更高效的数据结构和算法来提高查找速度,比如哈希表、二叉搜索树等。这里只是提供了一个简单的示例代码,如果需要实现更高效的查找功能,可以根据需要进行修改和扩展。
阅读全文