题目是输入从键盘上输入是个学生的成绩存储在数组中,输出成绩最高者的序号和成绩
怎么样编程啊?
谢谢
麻烦了啊~
题目是输入从键盘上输入是个学生的成绩存储在数组中,输出成绩最高者的序号和成绩
怎么样编程啊?
谢谢
麻烦了啊~
2007-05-17 13:19
2007-05-17 13:48
2007-05-17 14:55
解释一下2楼版主的(比较精辟
):
定义1个数组score[100] 存 成绩 定义一个 max
把分数分别存到每个元素 里 同时和max比较 把大的值再存到max 里,别忘了存max 时
顺便把score[i]的i值也存上(这是最大值的位置
)
[此贴子已经被作者于2007-5-17 15:41:38编辑过]

2007-05-17 15:24
好像不能确定名字除非以有学生名表了.不然可能要输入了.
#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-05-17 15:29
[此贴子已经被作者于2007-5-17 15:57:44编辑过]

2007-05-17 15:54
#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;
}
}
}
}

2007-05-17 16:04