當前位置:首頁 » 考試成績 » c語言學生成績排序思想

c語言學生成績排序思想

發布時間: 2021-01-26 09:10:16

⑴ 用c語言對學生成績排序

#include <stdio.h>
int main()
{int a[100],i,j,t,n;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(a[j]<a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}

⑵ C語言 學生成績篩選及排序等問題

#include "stdio.h"
main()
{
float std[30],B,S;
int n=0,bjg=0,i,j,temp;
system("cls");
printf("請輸入學生成績(不多於30個):\n");
do
{
scanf("%f",&std[n]);
n++;
}
while(std[n-1]>=0);
if(n==1)
printf("沒有收到哦!");
else
{
n--;
/*不及格成績篩選*/
for(i=0;i<n;i++)
{
if(std[i]<60)
{
printf("%.2f ",std[i]);
bjg++;
}
}
printf("\n不及格人數為:%d",bjg);

/*排序*/
for(j=0;j<n-1;j++)
{
for(i=0;i<n-1-j;i++)
if(std[i]>std[i+1])
{
temp=std[i];std[i]=std[i+1];std[i+1]=temp;
}
}
printf("\n排序結果為:\n");
for(i=0;i<n;i++)
printf("%.2f ",std[i]);
/*最高最低成績*/
printf("\n最高成績是: %.2f \n最低成績是:%.2f",std[n-1],std[0]);

}

}

⑶ c語言程序設計 學生成績排序系統

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#define MAX 200
void dis_menu();
void load_score();
void sort_english();
void sort_math();
void sort_c();
void sort_num();
void display();
typedef struct
{
char name[20];
int num;
float math;
float english;
float c;
}Stu;
Stu stu[MAX];
int num=0;
bool tag=true;
bool Tag=false;
void main()
{
dis_menu();
}
void dis_menu()
{
int i=0;
char ch;
do{
printf("******** *歡迎使用學生成績排序系統* ********** ******\n");
printf("****** ****輸入要進行的操作****** ******* ***** *\n");
printf("**** ******1:按數學成績排序********** **** ***** **\n");
printf("** ********2: 按英語成績排序***** * ***** ***\n");
printf("* *********3:按C語言成績排序***** * ************ **\n");
printf("*** *******4:按學生學號排序****** ***** ***** *\n");
printf("***** *****5:載入學生成績**** ********* *****\n");
printf("******* ***0:退出系統********* ************** ***\n");
fflush(stdin);
scanf("%d",&i);
switch(i)
{
case 1:
if(!Tag) { printf("先載入學生成績!\n"); break; }
sort_math();
printf("是否列印排序後學生成績:(Y or N)\n");
fflush(stdin);
ch=getchar();
switch(ch)
{
case 'Y':
case 'y':
display();
break;
default:break;
}
break;
case 2:
if(!Tag) { printf("先載入學生成績!\n"); break; }
sort_english();
printf("是否列印排序後學生成績:(Y or N)\n");
fflush(stdin);
ch=getchar();
switch(ch)
{
case 'Y':
case 'y':
display();
break;
default:break;
}
break;
case 3:
if(!Tag) { printf("先載入學生成績!\n"); break; }
sort_c();
printf("是否列印排序後學生成績:(Y or N)\n");
fflush(stdin);
ch=getchar();
switch(ch)
{
case 'Y':
case 'y':
display();
break;
default:break;
}
break;
case 4:
if(!Tag) { printf("先載入學生成績!\n"); break; }
sort_num();
printf("是否列印排序後學生成績:(Y or N)\n");
fflush(stdin);
ch=getchar();
switch(ch)
{
case 'Y':
case 'y':
tag=false;
display();
break;
default:break;
}
break;
case 5:
load_score();
Tag=true;
printf("是否列印載入後的學生成績:(Y or N)\n");
fflush(stdin);
ch=getchar();
switch(ch)
{
case 'Y':
case 'y':
tag=false;
display();
break;
default:break;
}
break;
default:
printf("感謝使用本系統!\n");
system("exit");
exit(0);
}
printf("是否繼續?(Y or N)\n");
fflush(stdin);
ch=getchar();
system("cls");
}while(ch=='Y'||ch=='y');

}

void load_score()
{
int i;
printf("輸入學生人數\n");
scanf("%d",&num);
printf("學生學號 姓名 數學成績 英語成績 C語言成績 \n");
for(i=0;i<MAX&&i<num;i++)
scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].math,&stu[i].english,&stu[i].c);
if(i>MAX)
printf("輸入人數有誤!");
}

void display()
{
int i=0;
if(tag)
{
printf("名次\t學號\t姓名\t數學\t英語\tC語言\n");
for(i=0;i<num;i++)
printf("%d\t%d\t%s\t%.2f\t%.2f\t%.2f\n",i+1,stu[i].num,stu[i].name,stu[i].math,stu[i].english,stu[i].c);
}
else
{
printf("學號\t姓名\t數學\t英語\tC語言\n");
for(;i<num;i++)
printf("%d\t%s\t%.2f\t%.2f\t%.2f\n",stu[i].num,stu[i].name,stu[i].math,stu[i].english,stu[i].c);

}
}

void sort_math()
{
int i,j;
Stu temp;
for(i=1;i<num;i++)
for(j=1;j<=num-i;j++)
{
if(stu[j-1].math<=stu[j].math)
{
temp=stu[j-1];
stu[j-1]=stu[j];
stu[j]=temp;
}
}
printf("排序完成!\n");
}

void sort_english()
{
int i,j;
Stu temp;
for(i=1;i<num;i++)
for(j=1;j<=num-i;j++)
{
if(stu[j-1].english<=stu[j].english)
{
temp=stu[j-1];
stu[j-1]=stu[j];
stu[j]=temp;
}
}
printf("排序完成!\n");
}

void sort_c()
{
int i,j;
Stu temp;
for(i=1;i<num;i++)
for(j=1;j<=num-i;j++)
{
if(stu[j-1].c<=stu[j].c)
{
temp=stu[j-1];
stu[j-1]=stu[j];
stu[j]=temp;
}
}
printf("排序完成!\n");
}
void sort_num()
{
int i,j;
Stu temp;
for(i=1;i<num;i++)
for(j=1;j<=num-i;j++)
{
if(stu[j-1].num>=stu[j].num)
{
temp=stu[j-1];
stu[j-1]=stu[j];
stu[j]=temp;
}
}
printf("排序完成!\n");
}

剛寫的,希望對你有用,考試順利!

⑷ C語言 學生成績排序

#include <stdio.h>

typedef struct student
{
int pla;
int num;
int score;
}student;

int main()
{
student stu[100];
int n, i, j, tempnum, tempscore, pos;
scanf("%d", &n);
for (i = 0; i < n; i++)
{
[i].num = i + 1;
scanf("%d", &stu[i].score);
}
for (i = 0; i < n; i++)
{
tempscore = stu[i].score;
tempnum = stu[i].num;
pos = i;
for (j = i + 1; j < n; j++)
{
if (tempscore < stu[j].score)
{
tempscore = stu[j].score;
tempnum = stu[j].num;
pos = j;
}
}
stu[pos].num = stu[i].num;
stu[i].num = tempnum;
stu[pos].score = stu[i].score;
stu[i].score = tempscore;
stu[i].pla = i + 1;
if (i > 0 && stu[i].score == stu[i - 1].score)
{
stu[i].pla = stu[i - 1].pla;
}
}
for (i = 0; i < n; i++)
{
printf("%d : %d, %d\n", stu[i].pla, stu[i].num, stu[i].score);
}
return 0;
}

⑸ c語言 學生成績排序

結構體還沒學到,
我說個大概構思,希望能採納
讓第一個分別和第二個,第三個....比較,如果第一個小於後面的
,則互換
for(i
=
0;
i
<
學生個數;
i++)
{
for(j
=
1;
j
<
學生個數;j++)
{
if(成績[i]
<
成績[j])
score
=
成績[i];
成績[i]
=
成績[j];
成績[j]
=
score;
}
}

⑹ 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;
}

⑺ 用c語言冒泡排序方法,對學生成績從高到低進行排序。 拜託大神們幫忙

//冒泡排序函數(從高到低)
voidbubble_sort(inta[],intn)
{
inti,j;
inttmp;
for(j<0;j<n-1;j++)
for(i=0;i<n-1-j;i++)
if(a[i]<a[i+1])
{
tmp=a[i];
a[i]=a[i+1];
a[i+1]=tmp;
}
}

⑻ 用C語言如何對學生成績排序

程序冒泡法比較不錯
只是不知道你想怎麼排序

⑼ C語言冒泡排序法將學生成績按從小到大順序排列

#include<stdio.h>

structstudent
{
charname[20];
charsex[20];
intage;
intscore;
};

voidsort(structstudentdata[],intsize)
{
/*冒泡排序*/
intx,y;
structstudenttemp;

for(x=0;x<size-1;x++)
(y=0;y<size-1-x;++y)
if(data[y].score>data[y+1].score)
{
temp=data[y+1];
data[y+1]=data[y];
data[y]=temp;
}

}
intmain()
{
intqty,counter;
structstudentdata[1000];

scanf("%d",&qty);
for(counter=0;counter<qty;++counter)
scanf("%s%s%d%d",data[counter].name,data[counter].sex,&data[counter].age,&data[counter].score);

sort(data,qty);

for(counter=0;counter<qty;++counter)
printf("%s%s%d%d ",data[counter].name,data[counter].sex,data[counter].age,data[counter].score);


return0;
}

熱點內容
武漢大學學生會輔導員寄語 發布: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