C语言编程题:任意输入五个同学的成绩(设为整数)及学号,找出他们的最高分同学的学号及成绩。

任意输入五个同学的成绩(设为整数)及学号,找出他们的最高分同学的学号及成绩。

#include<stdio.h>
typedef struct person
{
int number;
char name[10];
float scores;
}person;
void sort(person a[],int num)
{
int i;
float mod=0;
for(i=0;i<num;i++)
{
if(mod<a[i].scores)
mod=a[i].scores;
}
for(i=0;i<num;i++)
{
if(mod==a[i].scores)
printf("学号:%d姓名:%s成绩%f:\n",a[i].number,a[i].name,a[i].scores);
}

}
int main()
{
person a[3];
int i;
for(i=0;i<3;i++)
{
printf(" 请输入学号,姓名,成绩\n");
scanf("%d%s%f",&(a[i].number),a[i].name,&(a[i].scores));
}
sort(a,3);
}
刚写好的,希望采纳,应该看得懂的哈,不过c++写更简单,c的结构不支持封装函数的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-22
main()
{
int i,n[5],s[5],b,m;
for(i=0;i<5;i++)
scanf("%d%d",&n[i],&s[i]);
m=s[0];b=0;
for(i=1;i<5;i++)
if(m<s[i])
{ m=s[i];b=i; }

printf("max=%d,No=%d\n",m,b+1);
}
相似回答