当前位置:首页 » 考试成绩 » c语言学生成绩排序

c语言学生成绩排序

发布时间: 2020-11-29 09:39:34

❶ C语言~输入5个学生的学号,成绩,按成绩排序(升序),查找90分以上的

代码:

#include<stdio.h>

struct student

{

int num,score[3],age;

char name[20];

float aver;

}stu[1000];

main()

{

int i,j,n;

struct student temp;

/*注意:变量temp的类型与数组stu的元素类型为相同结构体的时候,才可交换两个结构体数组元素,所以此处需要定义temp的类型*/

printf("请输入学生人数: ");

scanf("%d",&n);

printf("请按顺序输入名字、学号、年龄、分数: ");

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

{

scanf("%s",&stu<i>.name);

scanf("%d",&stu<i>.num);

scanf("%d",&stu<i>.age);

for(j=0;j<3;j++)

scanf("%d",&stu<i>.score[j]);

}

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

{int sum=0;

for(j=0;j<3;j++)

sum+=stu<i>.score[j];

stu<i>.aver=sum/3.0;

}

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("学生信息如下(姓名、学号、年龄、成绩、平均分): ");

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

{

printf("%s%d%d",stu<i>.name,stu<i>.num,stu<i>.age);

for(j=0;j<3;j++)

printf("%d",stu<i>.score[j]);

printf("%.2f ",stu<i>.aver);

}

}

(1)c语言学生成绩排序扩展阅读:

头文件#include<stdio.h>中

stdio.h是stand input&output的缩写,意思是标准输入输出头文件。凡是用到标准输入输出函数,就要调用该头文件。

查看stdio.h目录下包含哪些函数:主要有文件访问、二进制输入/输出、格式化和非格式化输入/输出、文件定位、错误处理、文件操作等。

具体打开自己的VS安装目录,找到include文件夹,打开include夹下面的stdio.h文件即可查看

(C:Program Files(x86)Microsoft Visual Studio 14.-1.1.10include)

常用标准输入输出函数:

scanf()从屏幕格式输入

printf()格式输出到屏幕

getchar()从屏幕得到一个字符

putchar()字符输出到屏幕

gets()从屏幕得到一个字符串

puts()字符串输出到屏幕

fscanf()从磁盘格式输入

fprintf()格式输出到磁盘

fgetc()从磁盘得到一个字符

fputc()字符输出到磁盘

fgets()从磁盘得到一个字符串

fputs()字符串输出到磁盘

#号是预处理语句,表明在编译之前预先进行处理。

.h是header file的缩写,表面这是一个头文件。

include是文件包含命令,后面跟着引号""或者尖括号<>,意思是将引号或尖括号内指定的文件包含到本程序中,成为本程序的一部分,而包含的文件通常是由系统提供的。

❷ c语言学生成绩管理系统按照学号排序怎么排

排序有很多种实现方法,效率较低(但比较容易理解)的有选择排序、插入排序、冒泡排序、鸡尾酒排序等,效率较高的有希尔排序、堆排序、快速排序、归并排序等。作为一个应用系统,可以不必自己写排序的实现算法,直接调用C标准的快速排序函数qsort,但前提是给出一个比较规则函数,说明数组中两个元素如何判断大小(是按照数值比较还是字符串比较等等),然后在qsort的第四个参数中使用这个规则函数。

❸ 用C语言如何对学生成绩排序

程序冒泡法比较不错
只是不知道你想怎么排序

❹ c语言,输入学生成绩和名字,排序时怎么才能让名字跟着成绩走

一开始就建两个数组,一个放成绩,一个放名字,如:
char
name[100][20];
float
score[100];
以后输入、输出专、排序等等操作,属都把name和score看做不可分离的一组(类似于同一个i的结构体变量),让name[i]和score[i]成为一对!排序时,当score[k]移动到m位置时,对应的name[k]也要同时移动的m位置。
这样,名字就跟着成绩走了。

❺ c语言 学生成绩排名

#include<stdio.h>
voidsetList(int*a,intlen);
voidprintfList(int*a,intlen);
voidpxList(int*a,intlen);
voidinsertList(int*a,intlen);
voidfanList(int*a,intlen);
intmain()
{
inta[11];//1.定义一个数组a[11],用以存放学生的成绩。
setList(a,10);//2.从键盘输入10个学生成绩。
pxList(a,10);//3.采用选择法,将学生成绩按照从高到低进行排序。
printfList(a,10);
insertList(a,10);//4.再输入一个学生的成绩,将此成绩按照排序规律插入原学生成绩数组。
printfList(a,11);
fanList(a,11);//5.将排好序的成绩单进行反序存放,即原来是从高到低,现在改为从低到高排列
printfList(a,11);
return0;
}
voidsetList(int*a,intlen)//输入
{
inti;
printf("请输入%d个学生成绩 ",len);
for(i=0;i<len;i++)
scanf("%d",&a[i]);
}
voidprintfList(int*a,intlen)//打印数组
{
inti;
printf(" ---打印数组--- ");
for(i=0;i<len;i++)
printf("%d",a[i]);

}
voidpxList(int*a,intlen)//选择排序
{
inti,j;
printf(" ---从大到小排序--- ");
for(i=0;i<len-1;i++)
for(j=i+1;j<len;j++)
if(a[i]<a[j])
{
a[j]^=a[i];
a[i]^=a[j];
a[j]^=a[i];
}
}
voidinsertList(int*a,intlen)//插入数组
{
printf(" ---插入数组--- ");
printf("输入要插入的数:");
scanf("%d",&a[len]);
pxList(a,11);
}
voidfanList(int*a,intlen)//数组反向存储
{
int*p0,*p1;
p0=a;
p1=&a[len-1];
while(p0<p1)
{
*p0^=*p1;
*p1^=*p0;
*p0^=*p1;
p0++;
p1--;
}

}

❻ C语言的学生成绩排序问题

#include <stdio.h>
#include <stdlib.h>

int main() {
struct student {
int num;
float scores;
};
student *stu = new student;
float insert = 0, temp = 0;
int i = 0;
for (; insert != -1; i++) {
printf("请输入学生成绩(结束输入-1):");
scanf("%f", &insert);
stu[i].num = i + 1;
stu[i].scores = insert;
}
for (int m = 0; m < i - 2; m++) {
for (int n = 0; n < i - 2; n++) {
temp = stu[n].scores;
if (temp < stu[n + 1].scores) {
stu[n].scores = stu[n + 1].scores;
stu[n + 1].scores = temp;
temp = stu[n].num;
stu[n].num = stu[n+1].num;
stu[n+1].num = (int)temp;
}
}
}
for (int j = 0 ; j < i - 1 ; j++){
printf("%s%d%s\t%s%d\t%s%.2f\n","第",j+1,"名:","号数:",stu[j].num,"成绩:",stu[j].scores);
}
system("PAUSE");
return 0;
}

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919