用c语言基础知识写代码,编写一个程序,输入N个用户的姓名和电话号码,按照用户姓名的词典顺序排列输出用户的姓名和电话号码。
时间: 2023-07-14 14:13:39 浏览: 81
以下是一个简单的实现,使用结构体数组存储用户信息,使用strcmp函数进行姓名的比较和排序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_USERS 100
struct User {
char name[20];
char phone[20];
};
int main() {
int n;
struct User users[MAX_USERS];
printf("请输入用户数量:");
scanf("%d", &n);
// 输入用户信息
for (int i = 0; i < n; i++) {
printf("请输入第%d个用户的姓名和电话号码:", i+1);
scanf("%s %s", users[i].name, users[i].phone);
}
// 按照姓名的字典序排序
for (int i = 0; i < n-1; i++) {
for (int j = i+1; j < n; j++) {
if (strcmp(users[i].name, users[j].name) > 0) {
struct User temp = users[i];
users[i] = users[j];
users[j] = temp;
}
}
}
// 输出用户信息
printf("\n用户列表:\n");
for (int i = 0; i < n; i++) {
printf("%s\t%s\n", users[i].name, users[i].phone);
}
return 0;
}
```
注意:这只是一个简单的示例程序,没有进行输入的合法性检查和错误处理。在实际应用中需要根据具体情况进行修改和完善。