C语言排序

综合项目(一)

#include "stdio.h"

#include "cstdlib"

void main()

{

int a[10],b,i,j,n;

aa:

printf("你想输入几个学生的成绩(0—9):");

scanf("%d",&n);

if(n>9||n<0)

{

printf("输入有误,请重新输入!\n");

goto aa;

}

printf("请输入%d个学生的成绩:",n);

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

{

scanf("%d",&a[i]);

}

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

{

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

{

if(a[j]<a[j+1])

{

b=a[j];

a[j]=a[j+1];

a[j+1]=b;

}

}

}

printf("输入的%d个学生成绩从高到低排序为:",n);

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

{

printf("%d ",a[i]);

}

printf("\n");

printf("请再输入一个学生的成绩:");

scanf("%d",&a[n]);

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

{

for(j=0;j<n+1-i;j++)

{

if(a[j]<a[j+1])

{

b=a[j];

a[j]=a[j+1];

a[j+1]=b;

}

}

}

printf("输入的%d个学生成绩后排序为:",n+1);

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

{

printf("%d ",a[i]);

}

printf("\n");

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

{

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

{

if(a[j]>a[j+1])

{

b=a[j];

a[j]=a[j+1];

a[j+1]=b;

}

}

}

printf("输入的%d个学生成绩后倒序为:",n+1);

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

{

printf("%d ",a[i]);

}

printf("\n");

system("pause");

}

综合项目(二)

#include<stdio.h>

#include<stdlib.h>

#include<windows.h>

int i,j,t;

void inarray(int *s1,int n1)

{

printf("请输入%d个学生的成绩:",n1);

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

{

scanf("%d",&s1[i]);

}

}

void outarray(int *s2,int n2)

{

printf("%d个学生的成绩为:",n2);

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

{

printf("%d ",s2[i]);

}

printf("\n");

}

void sort(int *s3,int n3)

{

char c;

printf("按升序排序请按a,按降序排序请按d:");

while(getchar()!='\n'){}

scanf("%c",&c);

while((c=='a'||c=='d')==0)

{

printf("输入有误,请重新输入!\n按升序排序请按a,按降序排序请按d:");

while(getchar()!='\n'){}

scanf("%c",&c);

}

if(c=='a')

{

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

{

for(j=0;j<n3-i-1;j++)

{

if(s3[j]>s3[j+1])

{

t=s3[j];

s3[j]=s3[j+1];

s3[j+1]=t;

}

}

}

}

else if(c=='d')

{

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

{

for(j=0;j<n3-i;j++)

{

if(s3[j]<s3[j+1])

{

t=s3[j];

s3[j]=s3[j+1];

s3[j+1]=t;

}

}

}

}

}

void insert(int *s4,int *n4,int N)

{

int y;

while(1)

{

bb: printf("现在进入新增学生成绩的填写\n成绩=");

scanf("%d",&s4[*n4]);

*n4+=1;

printf("成功添加!\n");

aa: printf("继续添加请按1,退出请按0:");

while(getchar()!='\n'){}

scanf("%d",&y);

if(y==1) goto bb;

else if(y==0) break;

else

{

printf("输入有误,请重新输入!\n");

goto aa;

}

}

if(s4[0]>s4[1])

{

for(i=0;i<*n4;i++)

{

for(j=0;j<*n4-i-1;j++)

{

if(s4[j]>s4[j+1])

{

t=s4[j];

s4[j]=s4[j+1];

s4[j+1]=t;

}

}

}

}

else

{

for(i=0;i<*n4;i++)

{

for(j=0;j<*n4-i;j++)

{

if(s4[j]<s4[j+1])

{

t=s4[j];

s4[j]=s4[j+1];

s4[j+1]=t;

}

}

}

}

}

void reserve(int *s5,int n5)

{

if(s5[0]>s5[1])

{

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

{

for(j=0;j<n5-i-1;j++)

{

if(s5[j]>s5[j+1])

{

t=s5[j];

s5[j]=s5[j+1];

s5[j+1]=t;

}

}

}

}

else

{

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

{

for(j=0;j<n5-i;j++)

{

if(s5[j]<s5[j+1])

{

t=s5[j];

s5[j]=s5[j+1];

s5[j+1]=t;

}

}

}

}

}

void main()

{

int score[11],n,x;

while(1)

{

for(i=0;i<10;i++) printf(" ");

printf("欢迎使用成绩管理系统\n");

for(i=0;i<10;i++) printf(" ");

printf("1:输入多个成绩\n");

for(i=0;i<10;i++) printf(" ");

printf("2:显示全部成绩\n");

for(i=0;i<10;i++) printf(" ");

printf("3:对成绩排序\n");

for(i=0;i<10;i++) printf(" ");

printf("4:新增一个成绩\n");

for(i=0;i<10;i++) printf(" ");

printf("5:逆序存放\n");

for(i=0;i<10;i++) printf(" ");

printf("0:退出\n请选择<0-5>:");

scanf("%d",&x);

switch(x)

{

case 0:system("pause");exit(0);

case 1:printf("n="); scanf("%d",&n);inarray(score,n);system("pause");system("cls");break;

case 2:outarray (score,n);system("pause");system("cls");break;

case 3:sort(score,n);system("pause");system("cls");break;

case 4:insert(score,&n,11);system("pause");system("cls");break;

case 5:reserve(score,n);system("pause");system("cls");break;

default:printf("输入有误,请重新输入!");system("pause");system("cls");break;

}

}

}

综合项目(三)

综合项目(四)

上一篇
下一篇