|
こんばんは。
>printf分を加えて実行してみました。うまく出力されませんでした。
>何故か1番目に入力したものが出力されてませんでした。
>わかりません。
最初のソースにある、seito1への入力をそのままにしていませんか。
そこへ、1番目を入力しているんだと思います。
ところで、確認していただきたかったのは、seito1.average=0.0; を記述しないで、最初のソースにprintfでの出力を行ったものです。
つまり、以下のものなので、よろしくお願いします。
#include <stdio.h>
struct seiseki { /* 構造体の宣言 */
int no;
char name[20];
double average;
};
int main(void)
{
int i;
struct seiseki seito1, seito2[20]; /* 構造体変数と構造体配列の宣言 */
/* 構造体変数に scanf()でデータを入力 */
scanf("%d", &seito1.no);
scanf("%s", seito1.name);
scanf("%lf", &seito1.average);
/* 構造体配列に scanf()でデータを入力 */
for(i = 0; i < 3; i++) {
scanf("%d", &seito2[i].no);
scanf("%s", seito2[i].name);
scanf("%lf", &seito2[i].average);
}
printf("%d\n", seito1.no);
printf("%s\n", seito1.name);
printf("%f\n", seito1.average);
for(i = 0; i < 3; i++) {
printf("%d\n", seito2[i].no);
printf("%s\n", seito2[i].name);
printf("%f\n", seito2[i].average);
}
return 0;
}
|