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;
}