C语言编程,根据成绩大小输出姓名,要用结构体。{麻烦写全} 麻烦大神求教,要是不会的,就不要捣乱的

作者&投稿:蒲送 (若有异议请与网页底部的电邮联系)
参考如下:
详细信息,还需要进一步的调整。

#包括
定义MAX_STD 5
定义MAX_RESULT 4

使用命名空间std;
结构学生
{
字符串否;
字符串名称;
int结果[MAX_RESULT];
双总和;
双率;
};

/ /输入
无效readrec(学生*&P)
{
为(int i = 0;我MAX_STD;我+ +)
{
法院<< endl <<“第一”<< i +1 <<“请输入学生信息:”<< endl <<学生数:“;
CIN >> P [I]号;
法院<<“姓名:”;
CIN >> P [i]的名称;
(J = 0研究<MAX_RESULT“; J + +)
{
法院<<“第一”的“+1”“分数”;
CIN >> P [i]的结果[J]; />}
}
}

/ /平均
无效平均(学生* P)

{ BR />

为(int i = 0; <MAX_STD,我+ +)
{
P [I]。总和= 0;
( J = 0,J <MAX_RESULT; J + +)
{
P [I]。萨姆+ = P [i]的结果[J];
}
p [i]的平均= P [I]。的总和/ MAX_RESULT;
}
}

/ /排序
无效排序(学生* P)
{
结构的学生;
(INT I = 0;我<MAX_STD;我+ +)
(J = I +1,J < MAX_STD; + +)
{
(P [i]的总和<P [J]。总和)
{
T = P [I],P [ ] = P [J],P [J] = T;
}
}
}

/ /输出
无效writerec(学生* P)
{
法院<< endl <<“输出信息:”<< endl;
(INT I = 0;我MAX_STD我+ +)
{
法院<<“第一”的“第i +1 <<”学生信息:“<<”\ t“;
cout <<”请学生ID: “<< P [I]号<”\ t“;
cout <<”请名称:“<< P [I]。名称<<”\ t“;
法院<“分数:”<< P [I]琛<< endl;四个等级
法院<<“”<<“\ t”;
(J = 0,J < MAX_RESULT; J + +)
{
法院<<“第一”的“+1”项目:“<< P [I]结果[J] <<”\ t“;
}
法院<< endl;
}
法院<< endl;
}

INT主(INT ARGC ,的char *的argv [])
{
结构学生人事MAX_STD];

readrec(人事);
平均(人事); BR />排序(人事);
writerec(人事);
系统(“暂停”);
返回0;
}
/ / ---- -------------------------------------------------- ---------------------

参考如下:
详细信息,还需要进一步的调整。

#包括
定义MAX_STD 5
定义MAX_RESULT 4

使用命名空间std;
结构学生
{
字符串否;
字符串名称;
int结果[MAX_RESULT];
双总和;
双率;
};

/ /输入
无效readrec(学生*&P)
{
为(int i = 0;我MAX_STD;我+ +)
{
法院<< endl <<“第一”<< i +1 <<“请输入学生信息:”<< endl <<学生数:“;
CIN >> P [I]号;
法院<<“姓名:”;
CIN >> P [i]的名称;
(J = 0研究<MAX_RESULT“; J + +)
{
法院<<“第一”的“+1”“分数”;
CIN >> P [i]的结果[J]; />}
}
}

/ /平均
无效平均(学生* P)

{ BR />

为(int i = 0; <MAX_STD,我+ +)
{
P [I]。总和= 0;
( J = 0,J <MAX_RESULT; J + +)
{
P [I]。萨姆+ = P [i]的结果[J];
}
p [i]的平均= P [I]。的总和/ MAX_RESULT;
}
}

/ /排序
无效排序(学生* P)
{
结构的学生;
(INT I = 0;我<MAX_STD;我+ +)
(J = I +1,J < MAX_STD; + +)
{
(P [i]的总和<P [J]。总和)
{
T = P [I],P [ ] = P [J],P [J] = T;
}
}
}

/ /输出
无效writerec(学生* P)
{
法院<< endl <<“输出信息:”<< endl;
(INT I = 0;我MAX_STD我+ +)
{
法院<<“第一”的“第i +1 <<”学生信息:“<<”\ t“;
cout <<”请学生ID: “<< P [I]号<”\ t“;
cout <<”请名称:“<< P [I]。名称<<”\ t“;
法院<“分数:”<< P [I]琛<< endl;四个等级
法院<<“”<<“\ t”;
(J = 0,J < MAX_RESULT; J + +)
{
法院<<“第一”的“+1”项目:“<< P [I]结果[J] <<”\ t“;
}
法院<< endl;
}
法院<< endl;
}

INT主(INT ARGC ,的char *的argv [])
{
结构学生人事MAX_STD];

readrec(人事);
平均(人事); BR />排序(人事);
writerec(人事);
系统(“暂停”);
返回0;
}
/ / ---- -------------------------------------------------- ---------------------

参考如下:
详细信息,还需要进一步的调整。

#包括
定义MAX_STD 5
定义MAX_RESULT 4

使用命名空间std;
结构学生
{
字符串否;
字符串名称;
int结果[MAX_RESULT];
双总和;
双率;
};

/ /输入
无效readrec(学生*&P)
{
为(int i = 0;我MAX_STD;我+ +)
{
法院<< endl <<“第一”<< i +1 <<“请输入学生信息:”<< endl <<学生数:“;
CIN >> P [I]号;
法院<<“姓名:”;
CIN >> P [i]的名称;
(J = 0研究<MAX_RESULT“; J + +)
{
法院<<“第一”的“+1”“分数”;
CIN >> P [i]的结果[J]; />}
}
}

/ /平均
无效平均(学生* P)

{ BR />

为(int i = 0; <MAX_STD,我+ +)
{
P [I]。总和= 0;
( J = 0,J <MAX_RESULT; J + +)
{
P [I]。萨姆+ = P [i]的结果[J];
}
p [i]的平均= P [I]。的总和/ MAX_RESULT;
}
}

/ /排序
无效排序(学生* P)
{
结构的学生;
(INT I = 0;我<MAX_STD;我+ +)
(J = I +1,J < MAX_STD; + +)
{
(P [i]的总和<P [J]。总和)
{
T = P [I],P [ ] = P [J],P [J] = T;
}
}
}

/ /输出
无效writerec(学生* P)
{
法院<< endl <<“输出信息:”<< endl;
(INT I = 0;我MAX_STD我+ +)
{
法院<<“第一”的“第i +1 <<”学生信息:“<<”\ t“;
cout <<”请学生ID: “<< P [I]号<”\ t“;
cout <<”请名称:“<< P [I]。名称<<”\ t“;
法院<“分数:”<< P [I]琛<< endl;四个等级
法院<<“”<<“\ t”;
(J = 0,J < MAX_RESULT; J + +)
{
法院<<“第一”的“+1”项目:“<< P [I]结果[J] <<”\ t“;
}
法院<< endl;
}
法院<< endl;
}

INT主(INT ARGC ,的char *的argv [])
{
结构学生人事MAX_STD];

readrec(人事);
平均(人事); BR />排序(人事);
writerec(人事);
系统(“暂停”);
返回0;
}
/ / ---- -------------------------------------------------- ---------------------

结构成员访问点运算符(。),第二个结构包括第一个结构成员变量的类型生日采访,第二个结构类型的变量生日:person.birthday,person.birthday在第二个结构变量, person.birthday访问它的成员变量的一年,再次使用点操作符,因此person.birthday.year,不明白,继续问,谢谢你!

我看到了一大群一大群的代码头痛

C语言结构体编程题,求大神!~

#include

typedef struct tagEmployeeRecord
{
char szNum[32]; //职工的工作证号
char szName[32]; //姓名
int age; //年龄
char szJobTime[32]; //工作时间
char szDegree[32]; //文化程度
double payment; //工资
}EmployeeRecord;

int _tmain(int argc, _TCHAR* argv[])
{
//职工的工作证号,姓名,年龄,参加工作时间,
//文化程度,工资等项内容。输出单位职工的平均年龄,平均工龄和平均工资,各年龄段职工人数。

int nRecordNum = 3;
int i = 0, nTotalAge = 0;
EmployeeRecord *tables = (EmployeeRecord*)malloc(nRecordNum * sizeof(EmployeeRecord));

for (i = 0; i < nRecordNum; i++)
{
printf("
请输入第%d个员工信息:
", i+1);

printf("输入工号(按回车结束)");
scanf("%s", tables[i].szNum);

printf("输入姓名(按回车结束)");
scanf("%s", tables[i].szName);

printf("输入年龄(按回车结束)");
scanf("%d", &tables[i].age);
}

//计算平均年龄
nTotalAge = 0;
for(i = 0; i < nRecordNum; i++)
{
nTotalAge += tables[i].age;
}
nTotalAge /= nRecordNum;
printf("平均年龄是:%d
", nTotalAge);
printf("

输入的员工信息是:
");
for (i = 0; i < nRecordNum; i++)
{
printf("员工[%d],工号:%s, 姓名:%s, 年龄:%d
", i+1, tables[i].szNum, tables[i].szName, tables[i].age);
}
return 0;
}

排序你可以用最简单的冒泡或者选择排序,以平均分为标准
#include
typedef struct student
{
int num;
char name[20];
int Score1;
int Score2;
int Score3;
float average;
}student;
student st[3];
void CreateStudent(student st[])
{
int i,j;
float Average;
for(i=0;i<3;i++)
{
printf("请输入学生%d的资料:
",i+1);
printf("学号为:");
scanf("%d",&st[i].num);
printf("姓名是:");
scanf("%s",&st[i].name);
printf("第1门成绩是:");
scanf("%d",&st[i].Score1);
printf("第2门成绩是:");
scanf("%d",&st[i].Score2);
printf("第3门成绩是:");
scanf("%d",&st[i].Score3);
printf("
");
st[i].average = (st[i].Score1+st[i].Score2+st[i].Score3)/3;
}
}
void SortStudent(student st[],int nLength)
{
int i, j, max;
student temp;
for(i=0; i<nLength;i++)
{
max = i;
for(j=i+1; j<nLength; j++)
{
if(st[j].average > st[max].average)
max = j;
}
if(max != i)
{
temp = st[i];
st[i] = st[max];
st[max] = temp;
}
}
}
int main()
{
int j;
CreateStudent(st);
SortStudent(st,3);
printf("学号姓名语文数学英语平均分
");
for(j=0;j<3;j++)
{
printf("%d",st[j].num);
printf("%s",st[j].name);
printf("%d",st[j].Score1);
printf("%d",st[j].Score2);
printf("%d",st[j].Score3);
printf("%2f",st[j].average);
printf("
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
");
}
}

C语言怎么求自行设置N名学生,按照成绩的高低输出学生姓名以及学生成绩...
答:include<stdio.h>#include<stdlib.h>struct Student{ int num; char name[20]; float score;};int main(){ struct Student stu[5]={{10101,"Zhang",78},{10103,"Wang",98.5},{10106,"Li",86},{10108,"Ling",73.5},{10110,"Sun",100}}; int n=5; int i; ...

C语言输入4个同学的姓名学号,语文数学英语信息计算平均成绩,按...
答:include<stdio.h>struct student {int no; /*学号*/char name[20]; /*姓名*/float ch_score; /*语文*/float math_score; /*数学*/float en_score; /*英语*/float info_score; /*信息*/float aver; /*平均分*/};void bubble_sort(struct student stu[], int len) { /*反向冒泡排序...

...计算机)姓名学号。要求:输出有挂科的学生的姓名,学号,成绩...
答:printf("姓名:");scanf("%s",&students[i].name);printf("\r\n数学成绩:");scanf("%f",&students[i].score[MATH]);printf("英语成绩:");scanf("%f",&students[i].score[ENGLISH]);printf("计算机成绩:");scanf("%f",&students[i].score[COMPUTER]);} printf("--- 不及格的学生...

...姓名、成绩)程序运行后按照成绩的高低顺序输出各学生的
答:include<stdio.h> struct Stu { int num;char name[20];float score;};void Input(struct Stu s[]){ int i;for(i=0;i<3;++i)scanf("%d%s%f",&s[i].num,s[i].name,&s[i].score);} void Sort(struct Stu *a[]){ int i,j;struct Stu *t,**p;for(i=0;i<2;++i){ p...

C语言~输入5个学生的学号,成绩,按成绩排序(升序),查找90分以上的
答:for(i=0;i<n-1;i++)/*利用冒泡排序法按平均分高低排序*/ {for(j=0;j<n-i-1;j++){ if(stu[j].aver>stu[j+1].aver){temp=stu[j];/*此处交换的应当是数组元素,而不是平均分*/ stu[j]=stu[j+1];stu[j+1]=temp;} } } printf("学生信息如下(姓名、学号、年龄、成绩、...

...将成绩从高到低排序,对姓名做相应的调整,输出排序后的成绩姓名...
答:一维数组 按你理解应该怎么存储多个名字?一维char是一个连续的字符串 所以你使用b[i]访问他的时候 只能读取或写入一个字符 而名字是有多个字符组成的。用一维数组表示字符串是比较麻烦的 你可以先定义一个大的char数组 比如 char b[最大名字个数*10]然后 再 for(int i=0;i<3;i++){ scanf("...

...英语,数学,计算机成绩,输出这两个学生的姓名,学号和平均分
答:structg stu{char name[20];char num[10];float eng;float math;float comp;float ave;};stu[2];for(i=0 1){scanf("%s %s %f %f %f\n",stu[i].name,stu[i].num,&stu[i].eng,&stu[i].ath,&stu[i].comp);stu[i].ave=(stu[i].eng+stu[i].math+stu[i].comp)/3;} ...

...成绩,然后按成绩从大到小排序,然后分4列输出结果。
答:prinnf("第%d的平均成绩为:%f。",i+1,aver[i]);if(aver[i]>max)//没有考虑平均分相等 { max=aver[i];j=i;} } prinf("%d %f %f %f %s %s %s",students);//自己写输出信息把 / for(i=0;i<80;i++){ if(students[i].s>=60)printf("%d %f %s %s %s",...

怎样用c语言编写输出自己的名字?
答:include <stdio.h> int main(void){ char name[20];printf("请输入你的姓名:");scanf("%s",name);printf("你的姓名是:%s\n",name);return 0;}

C语言。输入n个学生的姓名,语文,数学,英语成绩,
答:scanf("%s%d%d%d",&stu[i].name,&stu[i].yuwen,&stu[i].shuxue,&stu[i].yingyu);stu[i].average=(stu[i].yuwen+stu[i].shuxue+stu[i].yingyu)/3.0;printf("\n\t 姓名 语文 数学 英语 平均分\n");for(i=0;i<N;i++)简介 C语言是一门面向过程的计算机编程语言,与C++、C#...