c语言编程的小问题,按要求补充代码

#include <stdio.h>

#define N 30

typedef struct student

{

char name[10];

int score;

}STU;

int main(int argc, const char * argv[]) {

    // insert code here...

    STU s[N];

    int n=0;

    int i;

    int n1=0;

    int n2=0;

    int n3=0;

    int n4=0;

    int n5=0;

    int n6=0;

    int total=0;

    float aver;

    printf("请输入学生姓名与成绩:");

    do

    {

    scanf("%s",&s[n].name);

    scanf("%d",&s[n].score);

    n++;

    }while(s[n-1].score>=0);

    n--;

    for(i=0;i<n;i++)

    {

    total+=s[i].score;

    if(s[i].score<60)

    n1++;

    else if(s[i].score<70)

    n2++;

    else if(s[i].score<80)

    n3++;

    else if(s[i].score<90)

    n4++;

    else

    n5++;

    }

    printf("不及格人数为:%d,名单如下:\n",n1);

    for(i=0;i<n;i++)

    {

    if(s[i].score<60)

    printf("%s\t %d\n",s[i].name,s[i].score);

    }

    aver=(float)total/n;

    for(i=0;i<n;i++)

    {

    if(s[i].score>aver)

    n6++;

    }

    printf("平均分为:%.1f,分数在平均分以上的人数为:%d,名单如下:\n",aver,n6);

    for(i=0;i<n;i++)

    {

    if(s[i].score>aver)

    printf("%s\t %d\n",s[i].name,s[i].score);

    }

    printf("分数段\t学生人数\n");

    printf("<60\t%d(%.1f%%)",n1,(float)n1*100/n);

    for(i=0;i<n1;i++)

    printf("*");

    printf("\n");

    printf("60~69\t%d(%.1f%%)",n2,(float)n2*100/n);

    for(i=0;i<n2;i++)

    printf("*");

    printf("\n");

    printf("70~79\t%d(%.1f%%)",n3,(float)n3*100/n);

    for(i=0;i<n3;i++)

    printf("*");

    printf("\n");

    printf("80~89\t%d(%.1f%%)",n4,(float)n4*100/n);

    for(i=0;i<n4;i++)

    printf("*");

    printf("\n");

    printf(">=90\t%d(%.1f%%)",n5,(float)n5*100/n);

    for(i=0;i<n5;i++)

    printf("*");

    printf("\n");

    return 0;

补充一下这个条件

这个代码怎么加进去:用一维数组作为函数参数,编程打印某班一门课成绩的最高分及其学号。

代码如下:如有帮助,请采纳一下,谢谢。

#include <stdio.h>
#define N 30
typedef struct student
{
	char name[10];
	int score;
}STU;
//返回分数最高的学生的索引
int MaxScore(struct student ary[],int size)
{
	int index = 0;
	int i = 0;
	int max = ary[0].score;
	for (; i <size; i++)
	{
		if (ary[i].score > max)
		{
			max = ary[i].score;
			index = i;
		}
	}
	printf("最高成绩学生:%s,成绩:%d\n",ary[i].name,ary[i].score);
	return i;
}

int main(int argc, const char * argv[]) 
{
	// insert code here...
	STU s[N];
	int n=0;
	int i;
	int n1=0;
	int n2=0;
	int n3=0;
	int n4=0;
	int n5=0;
	int n6=0;
	int total=0;
	float aver;
	printf("请输入学生姓名与成绩:");
	do
	{
		scanf("%s",&s[n].name);
		scanf("%d",&s[n].score);
		n++;
	}while(s[n-1].score>=0);
	n--;
	for(i=0;i<n;i++)
	{
		total+=s[i].score;
		if(s[i].score<60)
			n1++;
		else if(s[i].score<70)
			n2++;
		else if(s[i].score<80)
			n3++;
		else if(s[i].score<90)
			n4++;
		else
			n5++;
	}

	printf("不及格人数为:%d,名单如下:\n",n1);
	for(i=0;i<n;i++)
	{
		if(s[i].score<60)
			printf("%s\t %d\n",s[i].name,s[i].score);
	}

	aver=(float)total/n;
	for(i=0;i<n;i++)
	{
		if(s[i].score>aver)
			n6++;
	}

	printf("平均分为:%.1f,分数在平均分以上的人数为:%d,名单如下:\n",aver,n6);

	for(i=0;i<n;i++)
	{
		if(s[i].score>aver)
			printf("%s\t %d\n",s[i].name,s[i].score);
	}

	printf("分数段\t学生人数\n");
	printf("<60\t%d(%.1f%%)",n1,(float)n1*100/n);

	for(i=0;i<n1;i++)
		printf("*");

	printf("\n");
	printf("60~69\t%d(%.1f%%)",n2,(float)n2*100/n);
	for(i=0;i<n2;i++)
		printf("*");
	printf("\n");
	printf("70~79\t%d(%.1f%%)",n3,(float)n3*100/n);
	for(i=0;i<n3;i++)
		printf("*");
	printf("\n");
	printf("80~89\t%d(%.1f%%)",n4,(float)n4*100/n);

	for(i=0;i<n4;i++)
		printf("*");
	printf("\n");
	printf(">=90\t%d(%.1f%%)",n5,(float)n5*100/n);
	for(i=0;i<n5;i++)
		printf("*");
	printf("\n");

	//修改:增加最高成绩输出
	MaxScore(s,n);
	return 0;
}

 

 

#include <stdio.h>
#define N 30
typedef struct student
{
	char name[10];
	int score;
}STU;
//返回分数最高的学生的索引
int MaxScore(struct student ary[],int size)
{
	int index = 0;
	int i = 0;
	int max = ary[0].score;
	for (; i <size; i++)
	{
		if (ary[i].score > max)
		{
			max = ary[i].score;
			index = i;
		}
	}
	printf("最高成绩学生:%s,成绩:%d\n",ary[index].name,ary[index].score);
	return index;
}
int main(int argc, const char * argv[]) 
{
	// insert code here...
	STU s[N];
	int n=0;
	int i;
	int n1=0;
	int n2=0;
	int n3=0;
	int n4=0;
	int n5=0;
	int n6=0;
	int total=0;
	float aver;
	printf("请输入学生姓名与成绩:");
	do
	{
		scanf("%s",&s[n].name);
		scanf("%d",&s[n].score);
		n++;
	}while(s[n-1].score>=0);
	n--;
	for(i=0;i<n;i++)
	{
		total+=s[i].score;
		if(s[i].score<60)
			n1++;
		else if(s[i].score<70)
			n2++;
		else if(s[i].score<80)
			n3++;
		else if(s[i].score<90)
			n4++;
		else
			n5++;
	}
	printf("不及格人数为:%d,名单如下:\n",n1);
	for(i=0;i<n;i++)
	{
		if(s[i].score<60)
			printf("%s\t %d\n",s[i].name,s[i].score);
	}
	aver=(float)total/n;
	for(i=0;i<n;i++)
	{
		if(s[i].score>aver)
			n6++;
	}
	printf("平均分为:%.1f,分数在平均分以上的人数为:%d,名单如下:\n",aver,n6);
	for(i=0;i<n;i++)
	{
		if(s[i].score>aver)
			printf("%s\t %d\n",s[i].name,s[i].score);
	}
	printf("分数段\t学生人数\n");
	printf("<60\t%d(%.1f%%)",n1,(float)n1*100/n);
	for(i=0;i<n1;i++)
		printf("*");
	printf("\n");
	printf("60~69\t%d(%.1f%%)",n2,(float)n2*100/n);
	for(i=0;i<n2;i++)
		printf("*");
	printf("\n");
	printf("70~79\t%d(%.1f%%)",n3,(float)n3*100/n);
	for(i=0;i<n3;i++)
		printf("*");
	printf("\n");
	printf("80~89\t%d(%.1f%%)",n4,(float)n4*100/n);
	for(i=0;i<n4;i++)
		printf("*");
	printf("\n");
	printf(">=90\t%d(%.1f%%)",n5,(float)n5*100/n);
	for(i=0;i<n5;i++)
		printf("*");
	printf("\n");
	//修改:增加最高成绩输出
	MaxScore(s,n);
	return 0;
}

 

#include <stdio.h>
#define N 30
typedef struct student
{
    char name[10];
    long studentID;
    int score;
}STU;
int MaxScore(struct student ary[],int size)
{
    int index = 0;
    int i = 0;
    int max = ary[0].score;
    for (; i <size; i++)
    {
        if (ary[i].score > max)
        {
            max = ary[i].score;
            index = i;
        }
    }
    printf("最高成绩学生:%s,学号:%d,成绩:%d\n",ary[index].name,ary[index].studentID,ary[index].score);
    return index;
}
int main(int argc, const char * argv[])
{
    STU s[N];
    int n=0;
    int i;
    int n1=0;
    int n2=0;
    int n3=0;
    int n4=0;
    int n5=0;
    int n6=0;
    int total=0;
    float aver;
    printf("请输入学生姓名学号与成绩:");
    do
    {
        scanf("%s",&s[n].name);
        scanf("%d",&s[n].studentID);
        scanf("%d",&s[n].score);
        n++;
    }while(s[n-1].score>=0);
    n--;
    for(i=0;i<n;i++)
    {
        total+=s[i].score;
        if(s[i].score<60)
            n1++;
        else if(s[i].score<70)
            n2++;
        else if(s[i].score<80)
            n3++;
        else if(s[i].score<90)
            n4++;
        else
            n5++;
    }
    printf("不及格人数为:%d,名单如下:\n",n1);
    for(i=0;i<n;i++)
    {
        if(s[i].score<60)
            printf("%s\t %d\t %d\n",s[i].name,s[i].studentID,s[i].score);
    }
    aver=(float)total/n;
    for(i=0;i<n;i++)
    {
        if(s[i].score>aver)
            n6++;
    }
    printf("平均分为:%.1f,分数在平均分以上的人数为:%d,名单如下:\n",aver,n6);
    for(i=0;i<n;i++)
    {
        if(s[i].score>aver)
            printf("%s\t %d\n",s[i].name,s[i].score);
    }
    printf("分数段\t学生人数\n");
    printf("<60\t%d(%.1f%%)",n1,(float)n1*100/n);
    for(i=0;i<n1;i++)
        printf("*");
    printf("\n");
    printf("60~69\t%d(%.1f%%)",n2,(float)n2*100/n);
    for(i=0;i<n2;i++)
        printf("*");
    printf("\n");
    printf("70~79\t%d(%.1f%%)",n3,(float)n3*100/n);
    for(i=0;i<n3;i++)
        printf("*");
    printf("\n");
    printf("80~89\t%d(%.1f%%)",n4,(float)n4*100/n);
    for(i=0;i<n4;i++)
        printf("*");
    printf("\n");
    printf(">=90\t%d(%.1f%%)",n5,(float)n5*100/n);
    for(i=0;i<n5;i++)
        printf("*");
    printf("\n");
    MaxScore(s,n);
    return 0;
}