當前位置:首頁 » 考試成績 » 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