合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻
一、题目描述 ⭐️


二、代码(C语言)⭐️
解题步骤: 📚
- 1、定义数据结构
- 使用
typedefstruct定义一个结构体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,表示程序正常结束
}
