题目是输入从键盘上输入是个学生的成绩存储在数组中,输出成绩最高者的序号和成绩
怎么样编程啊?
谢谢
麻烦了啊~
好像不能确定名字除非以有学生名表了.不然可能要输入了.
#include "stdio.h"
#define NUM 3
main()
{
int i,k;
struct student
{
char name[10];
int cj;
};
struct student big[NUM]={"A",0,"B",0,"C",0};
for(i=0;i<NUM;i++)
{
printf("please %s cj:",big[i].name);
scanf("%d",&big[i].cj);
}
for(i=0;i+1<NUM;i++)
if(big[i].cj>big[i+1].cj) k=i;
printf("\n%s,%d\n",big[k].name,big[k].cj);
}
[此贴子已经被作者于2007-5-17 15:57:44编辑过]
#include "stdio.h"
#include "math.h"
void input();
void select();
main()
{
int p[1];
float q[1];
float score[3][5];
input(score);
select(score,p,q);/*求最高分的学生和课程*/
printf("\nThe student is %d,the grade is %.2f",p[0],q[0]);
}
void input(float s[3][5])/*输入成绩*/
{
int i,j;/*调试完毕*/
for(i=0;i<3;i++)
{
printf("\n input score of student %d:",i+1);
for(j=0;j<5;j++)
scanf("%f",&s[i][j]);
}
}
void select(float s[3][5],int p[1],float q[1])/*求最高分数的学生和成绩*/
{
int i,j;
float max=0;
for(i=0;i<3;i++)
{
for(j=0;j<5;j++)
{
if(s[i][j]>max)
{
max=s[i][j];
p[0]=i+1;
q[0]=max;
}
}
}
}