C语言:一个通信录中包括联系人(共n个人,0<n<=10)的编号、姓名、电话。请根据姓名查找到相关信息(输出姓名和电话信息,二者之间以冒号间隔,输出一条信息后换行),注意可能存在同名的情况,若同名,则输出所有同名人的信息。若查无此人,输出“no”。请在每对填空之间填写内容。 输入格式: 第一行输入n(0<n<=10),之后输入n行的联系人信息(包括编号、姓名和电话,其中姓名、电话两个成员的数据不含空格),最后一行输入要查找的人的姓名。 输出格式: 输出查找到的姓名和电话信息,二者之间以冒号间隔,输出一条信息后换行;若查无此人,输出“no”。
时间: 2023-12-20 09:04:09 浏览: 129
以下是C语言的代码实现:
```c
#include <stdio.h>
#include <string.h>
struct Contact {
int id;
char name[20];
char phone[20];
};
int main() {
int n;
struct Contact contacts[10];
char search_name[20];
// 输入联系人信息
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d %s %s", &contacts[i].id, contacts[i].name, contacts[i].phone);
}
// 输入要查找的姓名
scanf("%s", search_name);
// 查找联系人信息
int found = 0;
for (int i = 0; i < n; i++) {
if (strcmp(contacts[i].name, search_name) == 0) {
printf("%s:%s\n", contacts[i].name, contacts[i].phone);
found = 1;
}
}
// 若查无此人,输出“no”
if (!found) {
printf("no\n");
}
return 0;
}
```
输入格式示例:
```
3
1 Alice 123456789
2 Bob 987654321
3 Alice 111111111
Alice
```
输出格式示例:
```
Alice:123456789
Alice:111111111
```
阅读全文