(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有所幫助

添加新評論

暱稱
郵箱
網站