设有N个学生,每个学生的信息包括学号、姓名、三门课的成绩,从键盘上输入N个学生的信息

你试试这个
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
char num[10];
char name[10];
float score[3];
float avg;
} stu;
void input(int n,stu *s)
{
for(int i=0;i<n;i++)
{
scanf("%s",&s[i].num);
scanf("%s",&s[i].name);
scanf("%f %f %f",&s[i].score[0],&s[i].score[1],&s[i].score[2]);
s[i].avg = (s[i].score[0]+s[i].score[1]+s[i].score[2])/3;
}
}
void output1(int n,stu *s)
{
printf("学号\t姓名\t成绩1\t成绩2\t成绩3\t平均成绩\n");
for(int index=0;index<n;index++)
printf("%s\t%s\t%f\t%f\t%f\t%f\n",s[index].num,s[index].name,s[index].score[0],\
s[index].score[1],s[index].score[2],s[index].avg);
}
void output2(int n,stu *s)
{
int index=0;
float max=s[0].avg;
for(int i=1;i<n;i++)
if(max<s[i].avg)
{
max=s[i].avg;
index=i;
}
printf("%s\t%s\t%f\t%f\t%f\t%f\n",s[index].num,s[index].name,s[index].score[0],\
s[index].score[1],s[index].score[2],s[index].avg);
}
void output3(int n,stu *s)
{
stu tmp;
for(int i=0;i<n-1;i++)
for(int j=0;j<n-1-i;j++)
{
if(s[j].avg<s[j+1].avg)
{
tmp=s[j];
s[j]=s[j+1];
s[j+1]=tmp;
}
}
output1(n,s);
}
void main()
{
int n;
printf("输入学生数目:\n");
scanf("%d",&n);
stu *s = (stu *)malloc(n*sizeof(stu));
input(n,s);
printf("所有学生数据:\n");
output1(n,s);
printf("平均分最高学生数据:\n");
output2(n,s);
printf("排序学生数据:\n");
output3(n,s);
}

#include "stdio.h"
struct student{
char id[6],name[8];
int score[3];
}stu[5];

void input(student stu[])
{
int i,j;
for(i=0;i<5;++i)
{
printf("Id: "); scanf("%s",&stu[i].id);
printf("Name: "); scanf("%s",&stu[i].name);
for(j=0;j<3;++j)
{
printf("Score[%d]: ",j+1); scanf("%d",&stu[i].score[j]);
}
}
}

void average (student stu[])
{
int i,j,ave,sum;
for(i=0;i<3;++i)
{
sum=0;
for(j=0;j<5;++j)
sum+=stu[j].score[i];
ave=sum/5;
printf("Average%d=%d\n",i+1,ave);
}
}

void max(student stu[])
{
int i,j,max=0,sum,maxi;
for(i=0;i<5;++i)
{
sum=0;
for(j=0;j<3;++j)
sum+=stu[i].score[j];
if (max<sum)
{
max=sum;
maxi=i;
}
}
printf("Max Score:\nid:%s\nname:%s\nscore[1]:%d\nscore[2]:%d\nscore[3]:%d\n",stu[maxi].id,stu[maxi].name,stu[maxi].score[0],stu[maxi].score[1],stu[maxi].score[2]);
}

void main()
{

input(stu);
average(stu);
max(stu);
}

你只能一个个的输入啊,学生的学号,姓名又都不一样,而且也没什麽规律

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct date {
char nu;
char name;
int a;
int b;
int c;
int avg;
} s[100];
int main() {
int i,sum1,sum2,sum3,m1,m2,m3,n;
sum1=0;
sum2=0;
sum3=0;
scanf("%d",&n);
for(i=0; i<n; i++) {
scanf("%s%s%d%d%d",&s[i].nu,&s[i].name,&s[i].a,&s[i].b,&s[i].c);
s[i].avg=(s[i].a+s[i].b+s[i].c)/n;
}
for(i=0; i<n; i++) {
sum1+=s[i].a;
sum2+=s[i].b;
sum3+=s[i].c;
}
m1=sum1/n;
m2=sum2/n;
m3=sum3/n;
printf("%d %d %d",m1,m2,m3);
int index=0,max=s[0].avg;
for(i=0; i<n-1; i++) {
if(s[i].avg<s[i+1].avg) {
max=s[i+1].avg;
index=i+1;
}
}
printf("%s %s ",s[index].nu,s[index].name);
printf("%d %d %d",s[index].a,s[index].b,s[index].c);
free(s);
return 0;
}

c语言编程:有N个学生,每个学生的信息包括学号,性别,姓名,四门课的成绩,从键盘上输入N个学生的信

Q+ 563337217

已帮你改好

#include
#define MAX 100
struct Student
{
char name[20];
int number;
int s[3];
int average;
};struct Student stu[MAX];
int main()
{
int n,i,j,m,max;
printf("请输入人数:");
scanf("%d",&n);
printf("请依次输入每个学生的姓名、学号、及三门课成绩:
");
for(i=0;i<n;i++)
{
printf("请输入第%d人的数据:
",i+1);
scanf("%s%d",stu[i].name,&stu[i].number);
for(j=0;j<3;j++)
scanf("%d",&stu[i].s[j]);//========================这里加个&
printf("/n");
}
for(i=0;i<n;i++)
{
printf("%s%d",stu[i].name,stu[i].number);
for(j=0;j<3;j++)
printf("%d",stu[i].s[j]);
printf("
");
}
for(i=0;i<n;i++)
{
stu[i].average=0;
for(j=0;j<3;j++)
stu[i].average+=stu[i].s[j];
stu[i].average=stu[i].average/3;
}
max=stu[0].average=0;
for(i=0;i<n;i++)
if(stu[i].average>max)
{
max=stu[i].average;
m=i;
}
printf("平均分最高同学数据:
");
printf("%s%d%d%d%d%d%d",stu[i].name,stu[i].number,stu[i].s[1],stu[i].s[2],stu[i].s[3],stu[i].average);
return 0;
}
希望回答能帮到你,望采纳!


C语言程序设计--班级档案管理系统
对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。二、功能要求:1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。2、本系统显示这样的菜单:请选择系统功能项:a. 学生基本信息录入b. 学生基本信息显示c...

c语言做学生信息管理系统。学生信息包括:学号,姓名,年龄,性别,出生年...
c语言做学生信息管理系统。学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。 要求有类似wps文字处理系统的背景。老师要求只能用c语言!... 要求有类似wps文字处理系统的背景。老师要求只能用c语言! 展开  我来答 3个回答 #热议# 编剧史航被多人指控性骚扰,真实情况如何?asaisaio 2008-...

设计题目: 学生信息管理系统设计
学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一程序,提供以下功能:1、学生信息录入功能(学生信息用文件保存)--输入2、学生信息浏览功能--... 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一程序,提供以下功能:1、学生信息录入功能(学生信息用文件保存)...

这段代码为什么WA了?
是部分答案正确,只通过了20%数据么?感觉你的思路没问题 但我有点不确定sort排序时当node.time相等的时候会不会默认按node.s的升序排列 因为题目中说如果ti重复,要按照输入顺序排列 所以为了保险,cmp函数改成如下试一试?bool cmp(node x,node y){ return x.time == y.time ? x.s < y.s ...

输入n个学生的信息(包括学号 姓名 性别 四门课的成绩) 要求输出平均成绩...
C语言源代码如下:include<stdio.h> define N 1024 \/*定义一个学生结构体*\/ struct student { char number[10];char name[10];char sex[4];int Chinese;int Math;int English;int Physics;int Average;}stu[N];int main(int argc,char *argv[]){ int i=0;int k=0;int j=0;while(1...

...包括学号、姓名和三门课的成绩。输入学生的信息
}int main() {string st;int n,i,j;cout << "请输入学生人数:" << endl;cin >> n;cout<<"请输入学生信息:"<<endl;for ( i = 1; i <= n; i++) {\/\/成绩输入cin >>stu[i].id >> stu[i].name >> stu[i].course1 >> stu[i].course2 >> stu[i].course3;stu[i...

c语言写出每个学生的信息包括学号、姓名、3门课程(数学、物理、计算机...
include <stdio.h> define N 4 void main(){ struct student { int num;char name[20];float score[3];};struct student stu[N];int i,j,k=0,t;float aver[N],sum=0,max=0;for (i=0;i<N;i++){ printf("请输入第%d个学生的信息\\n",i+1);printf("学号:");scanf("%d",...

编制一个c语言成绩记录簿,每个学生信息包括:学号,姓名,c语言成绩...
编制一个c语言成绩记录簿,每个学生信息包括:学号,姓名,c语言成绩. 具体功能:(1)创建信息链表并以磁盘文你看看能不能运行#include<iostream> #include<cstdlib>#include<cstddef>#include&l

如何在c++定义一个学生类以实现平均成绩的计算和查询功能?
1.定义学生类,包括学号、姓名、性别、多门课程的成绩;假设有n个学生,由键盘输入学生信息;2定义类成员函数,计算每个学生的平均成绩;4.同时输出所有学生信息;5.通过输入学生学号或姓名... 1. 定义学生类,包括学号、姓名、性别、多门课程的成绩;假设有n个学生,由键盘输入学生信息;2定义类成员函数,计算每个学生的...

高分悬赏C语言学生籍贯信息记录簿设计
5.6题目八:学生籍贯信息记录簿设计编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能:(1)创建信息并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学... 5.6题目八:学生籍贯信息记录簿设计编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能:(1)创建信息并以磁盘文件...