#include?<stdio.h>
#include?<stdlib.h>
/***************************************************************************************
題目描述
從鍵盤輸入一個班級的學生信息,包括學號、姓名和成績,人數(shù)不超過10人,要求輸出成績最高者的全部信息。
輸入描述
第一行先輸入學生的數(shù)量,其后每三行分別輸入學生的學號、姓名和成績,即每行只接受學生的一項信息
輸出描述
請按照以下格式字符串輸出平均分和成績最高的同學的信息
"The?average?score=%.2f\n"
"The?student?who?has?the?highest?score?is:%s?%s?%d"
樣例輸入1:
3
1
Hangsan
86
2
Lisi
84
3
Wanger
93
樣例輸出1:
The?average?score=87.67
The?student?who?has?the?highest?score?is:3?wanger?93
******************************************************************************/
int?i=0;
void?shuruxinxi(int?*xuehao,char?*name,double?*mark,int?num)//對于多個字符串的,定義、輸入、輸出存在疑問?
{
????for(;i<num;i++)
????{
????????scanf("%d",&xuehao[i]);
????????scanf("%s",&name[i]);//比如name怎么實現(xiàn)多個名字的存儲?
????????scanf("%lf",&mark[i]);
????}
}
void?chulixinxi(int?num,double?*mark,int?*xuehao,char?*name)
{
????int?max=0;
????double?ave;
????double?sum=0;
????for(;i<num;i++)
????{
????????sum+=mark[i];
????}
????ave=(double)sum/num;
????for(i=0;i<num;i++)
????{
????????if(mark[i]>mark[max])
????????????max=i;
????}
????printf("The?average?score=%.2f\n",ave);
????printf("The?student?who?has?the?highest?score?is:%s?%s?%d",xuehao[max],name[max],mark[max]);
}
int?main()
{
????int?num;
????scanf("%d",&num);
????int?*xuehao[20];
????char?*name[num][20];
????double?*mark[20];
????shuruxinxi(*xuehao,(*name)[20],*mark,num);
????chulixinxi(num,*mark,*xuehao,(*name)[20]);
????return?0;
}
關(guān)于字符串數(shù)組的幾個問題,求大神解答
Paddington
2017-12-17 12:28:10