合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻
一、题目描述 ⭐️
二、代码(C语言)⭐️
解题步骤: 📚
- 1、定义数据结构
- 使用
typedef
struct
定义一个结构体Friend
,用于存储朋友的信息:
name
:姓名(字符串,最大长度 11)。birth
:生日(字符串,最大长度 11)。sex
:性别(单个字符,如 'M
' 或 'F
')。tel
:固定电话(字符串,最大长度 17)。mob
:手机号码(字符串,最大长度 17)。- 2、输入朋友信息
- 从标准输入读取朋友的数量
n
。- 使用
for
循环读取n
个朋友的信息,并存储到frd
数组中。
- 每个朋友的信息包括:姓名、生日、性别、固定电话和手机号码。
- 使用
scanf
分别读取这些信息。- 3、输入查询信息
- 从标准输入读取查询的次数
k
。- 使用
for
循环处理k
次查询:
- 每次查询读取一个编号
key
。- 检查
key
是否在有效范围内(0
到n-1
):
- 如果有效,输出对应朋友的信息(姓名、固定电话、手机号码、性别、生日)。
- 如果无效,输出 "
Not Found
"。- 4、输出结果
- 根据查询的编号
key
,输出对应朋友的信息。- 如果编号无效,输出 "
Not Found
"。
c
#include <stdio.h> // 包含标准输入输出库,用于使用scanf和printf等函数
// 定义结构体 Friend,用于存储朋友的信息
typedef struct {
char name[12]; // 姓名,最大长度为11(加上字符串结束符'\0')
char birth[12]; // 生日,最大长度为11
char sex; // 性别,用单个字符表示(如 'M' 或 'F')
char tel[18]; // 固定电话,最大长度为17
char mob[18]; // 手机号码,最大长度为17
} Friend;
int main() {
// 变量声明
Friend frd[10] = {0}; // 定义一个 Friend 类型的数组 frd,用于存储最多 10 个朋友的信息
int n, // 记录实际输入的朋友数量
k, // 记录查询的次数
key; // 要查询的朋友记录的编号
// 输入朋友信息
scanf("%d", &n); // 从标准输入读取朋友的数量 n
for (int i = 0; i < n; i++) { // 循环 n 次,读取每个朋友的信息
scanf("%s %s %c %s %s", frd[i].name, frd[i].birth, &frd[i].sex, frd[i].tel, frd[i].mob);
// 分别读取姓名、生日、性别、固定电话和手机号码
}
// 输入查询信息
scanf("%d", &k); // 从标准输入读取查询的次数 k
for (int i = 0; i < k; i++) { // 循环 k 次,处理每次查询
scanf("%d", &key); // 读取要查询的朋友记录的编号
if (key >= 0 && key < n) { // 如果查询的编号在有效范围内
// 输出该朋友的信息
printf("%s %s %s %c %s\n", frd[key].name, frd[key].tel, frd[key].mob, frd[key].sex, frd[key].birth);
} else { // 如果查询的编号无效
printf("Not Found\n"); // 输出 "Not Found"
}
}
return 0; // 返回0,表示程序正常结束
}
