|
#include<stdio.h>
main()
{
int Eng,Math,His,count,Gtotal,Total,;
char Name[40];
float Average;
printf(" 氏名 英語 数学 歴史 平均点\n");
printf("\n");
count=Gtotal=0;
while (scanf("%s %d %d %d",Name,&Eng,&Math,&His)==4){
count++;
Total=Eng+Math+His;
Gtotal+=Total;
Average=(float)Total/3;
printf("%-12.12s %4d %4d %4d : %6.1f\n",Name,Eng,Math,His,Average);
}
printf("--------------------------------\n");
printf(" 学生数:%d\n",count);
if(count>0)
printf(" 全平均点: %8.1f\n",
(float)Gtotal/((float)count*3));
}
このプログラムにデータを入力し、実行すると
入力data
Aさん100 100 100
Bさん 89 72 45
Cさん100 90 83
出力
Aさん 100 100 100 : 100.0
Bさん 89 72 45 : 68.7
Cさん 100 93 87 : 91.0
となります。これを改変し
配列 Eng[100] Math[100] His[100]として宣言して、出力される結果を
入力data
100 100 100
89 72 45
100 90 83
出力
100 100 100 : 100.0
100 93 87 : 91.0
89 72 45 : 68.7
と降順に並べ変えた上で出力させるプログラムにしたいのですが。
最初に新しく配列を宣言したところでどうデータを扱えば良いか分からず、全く手が付けれません。。。
|