pta7-34通讯录的录入和显示 看了其他人的代码 但是没看懂,谁可以给我解释一下啊😭

img

img


#include<stdio.h>
struct friend
{
    char name[12];      //姓名
    char birth[12];     //出生日期
    char sex;           //性别
    char fix_phone[17]; //固话
    char phone[17];     //手机
}s[12];
int main()
{
    int n, k, x;
    scanf("%d", &n);
    for (int i = 0; i < n; i++)
        scanf("%s %s %c %s %s", s[i].name, s[i].birth, &s[i].sex, s[i].fix_phone, s[i].phone);
    scanf("%d", &k);
    for (int i = 0; i < k; i++)
    {
        scanf("%d", &x);
        if (x >= 0 && x <= n - 1)
            printf("%s %s %s %c %s\n", s[x].name, s[x].fix_phone, s[x].phone, s[x].sex, s[x].birth);
        else
            printf("Not Found\n");
    }

    return 0;
}

这个可以看成为两部分:

  • n控制的for循环:就是输入n,后面循环n次获取n条信息
  • k控制的for循环:输入k,后面k次循环,每次读入一个x,x相当于数据的下标,看看前面n条信息有没有这个x下标,如果有就输出这个下标对应的数据;如果没有就输出Not Found