io.1

Please write a function to read student records from the standard input. Assume that each student record is stored in a single line, and the attributes of each student are separated by tabs.

EXAMPLE INPUT 1
Delaney Judd Ankunding 03174364122 dell43@example.net
Reva Golda Osinski (507)365-8405 qo'kon@example.com
Helga Cleve Mohr 677.401.9382 nya.lesch@example.net
EXAMPLE OUTPUT 1
There are a totle of 3 students:
Delaney Judd Ankunding 03174364122 dell43@example.net
Reva Golda Osinski (507)365-8405 qo'kon@example.com
Helga Cleve Mohr 677.401.9382 nya.lesch@example.net
EXAMPLE INPUT 2
Timmothy Anna Ward (096)889-8954x524 erwin.zboncak@example.com
Hobart Lorenz Balistreri 1-009-710-5151 swift.kolby@example.com
Warren Violet Gleichner 07661787471 johns.unique@example.net
Jarvis Aaliyah Carroll 09700166582 jillian26@example.net
Milton Vaughn Christiansen 171-642-5684 lhartmann@example.org
Stanford Mona Rogahn 436.613.7683 skassulke@example.net
Frida Aisha Huel 1-879-796-8987x164 baumbach.lucious@example.org
Delaney Judd Ankunding 03174364122 dell43@example.net
Reva Golda Osinski (507)365-8405 qo'kon@example.com
Helga Cleve Mohr 677.401.9382 nya.lesch@example.net
EXAMPLE OUTPUT 2
There are a totle of 9 students:
Timmothy Anna Ward (096)889-8954x524 erwin.zboncak@example.com
Hobart Lorenz Balistreri 1-009-710-5151 swift.kolby@example.com
Warren Violet Gleichner 07661787471 johns.unique@example.net
Jarvis Aaliyah Carroll 09700166582 jillian26@example.net
Milton Vaughn Christiansen 171-642-5684 lhartmann@example.org
Stanford Mona Rogahn 436.613.7683 skassulke@example.net
Frida Aisha Huel 1-879-796-8987x164 baumbach.lucious@example.org
Delaney Judd Ankunding 03174364122 dell43@example.net
Reva Golda Osinski (507)365-8405 qo'kon@example.com
主程序 (不能修改)

#include <stdio.h>

typedef struct {
    char first_name[9];
    char middle_name[9];
    char last_name[13];
    char cell_mobile_number[20];
    char email_address[29];
} Student;

void print_students(Student students[], int size) {
    printf("There are a totle of %d students:\n", size);
    for (int i = 0; i < size; ++ i) {
        printf("%s\t%s\t%s\t%s\t%s\n", 
            students[i].first_name,
            students[i].middle_name,
            students[i].last_name,
            students[i].cell_mobile_number,
            students[i].email_address);
    }
}

#include "source.c"

int main() {
    Student students[9];
    int size;
    size = read_students(students, 9);
    print_students(students, size);
}

我的答案

int read_students(Student students[9], int max){
    int i = 0;
    while(scanf("%s\t%s\t%s\t%s\t%s\n", 
            students[i].first_name,
            students[i].middle_name,
            students[i].last_name,
            students[i].cell_mobile_number,
            students[i].email_address)!=EOF){
        ++i;
        if(i>=max){
            break;
        }
    }
    return i;
}
上一篇: io.3 下一篇: io.4
支持 makedown语法