(1)定義一個結構體數組,存放10個學生的學號,姓名,三門課的成績; (2)從鍵盤輸入10個學生的以上內容
題目:
(1)定義一個結構體數組,存放10個學生的學號,姓名,三門課的成績; (2)從鍵盤輸入10個學生的以上內容
(1)定義一個結構體數組,存放10個學生的學號,姓名,三門課的成績;
(2)從鍵盤輸入10個學生的以上內容;
(3)輸出單門課成績最高的學生的學號、姓名、以及該門課程的成績;
(4)輸出三門課程的平均分數最高的學生的學號、姓名及其平均分;
(5)將10個學生按照平均分數從高到低進行排序,輸出結果,格式如下所示:
number name math Chinese English average
103 tom 90 90 100 95
101 alice 90 80 70 80
解答:
#include
#include
typedef struct STU
{
char ID[20];//學號
char Name[20];//姓名
float math;//成績1
float chinese;//成績2
float english;//成績3
};
int main()
{
STU myStu[10];
for(int i = 0; i < 10;i++)
{
printf("請輸入第%d個學生的信息\n",i+1);
printf("學號:");
scanf("%s",myStu[i].ID);
printf("姓名:");
scanf("%s",myStu[i].Name);
printf("數學成績:");
scanf("%f",&myStu[i].math);
printf("語文成績:");
scanf("%f",&myStu[i].chinese);
printf("英語成績:");
scanf("%f",&myStu[i].english);
printf("\n");
}
printf("\n學生信息輸入完畢\n");
printf("\n你輸入的學生信息如下\n");
printf("學號 姓名 數學成績 語文成績 英語成績 3平均成績\n");
for(int i = 0 ; i < 10 ; i++)
{
printf("%s %s %f %f %f %f",
myStu[i].ID,myStu[i].Name,myStu[i].math,
myStu[i].chinese,myStu[i].english,(myStu[i].math + myStu[i].chinese + myStu[i].english)/3.0);
printf("\n");
}
return 0;
}
在cfree裡面調試通過,如果有需要的地方可以加QQ:564777005 註明C語言
希望對LZ有所幫助
添加新評論