C Primer Plus(第六版)14.18 编程练习 第4题

#include
#include

#define LEN 20

struct people {
    char fname[LEN];
    char mname[LEN];
    char lname[LEN];
};

struct security {
    int num;
    struct people man;
}nn[5];

struct security *pb;

void a(struct security *pb);
void b(struct security nn[]);

int main(void)
{
    pb=nn;
    int i=0;
    printf("input :\nnum fname mname lname\n");
    while(pb-nn<5)
    {
        scanf("%d %s %s %s",&pb->num,pb->man.fname,pb->man.mname,pb->man.lname);
        //123 aa bb cc
        pb++;
    }
    pb=nn;
    a(pb);
    while(pb-nn<5)
    {
        pb->man.mname[0]='\0';
        pb++;
    }
    b(nn);
    return 0;
}


void a(struct security *pb)
{
    int i=0;
    while(i<5)
    {
        printf("%s ,%s", pb->man.fname,pb->man.lname);
        if(nn[i].man.mname[0]!='\0') 
            printf(" %c.", toupper(pb->man.mname[0]));    
        printf(" -- %d\n", pb->num);
        pb++;
        i++;
    }
}

void b(struct security nn[])
{
    int i=0;
    while(i<5)
    {
        printf("%s ,%s", nn[i].man.fname,nn[i].man.lname);
        if(nn[i].man.mname[0]!='\0') 
            printf(" %c.", toupper(pb->man.mname[0]));    
        printf(" -- %d\n", nn[i].num);
        i++;
    }
}

你可能感兴趣的:(c语言,开发语言)