#include #define NAME_LEN 250 /* 氏名の長さ最大見積り */ #define BUFF_LEN (NAME_LEN+10) /* バッファの長さ */ #define MAX_NINZU 300 /* 最大処理可能人数 */ int main() { /* 1行はBUFF_LENバイト、氏名はNAME_LENバイトあればいいだろう */ char buffer[BUFF_LEN], name[MAX_NINZU][NAME_LEN]; int point[MAX_NINZU]; /* 得点も人数分確保 */ int n=0; /* 今何人目? (0から) */ int i; /* ループ用変数 (最初に定義すべし) */ while (NULL != fgets(buffer, sizeof buffer, stdin)) { if (2 == sscanf(buffer, "%s %d", name[n], &point[n])) n++; /* nを1増やす */ } puts("全部読み終わったよ!"); /* では改めて最初から表示*/ /* この時点で n は最後の配列要素より1大きくなっている */ for (i=0; i