用C语言编写一个比较数的大小并排序的程序?

2024-12-17 15:30:45
推荐回答(4个)
回答1:

#include
void BubbleStort()
{
int i,j;
int arr[7];
printf("请输入要排数字:\n");
for(i=0;i<=6;i++)
scanf("%d",&arr[i]);
for(i=1;i<=6;i++)
{
for (j=0;j<=6-i;j++)
{
if(arr[j]>arr[j+1])
{
int t;
t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}
printf("排序后的数:\n");
for(i=0;i<=6;i++)
printf("%4d",arr[i]);
}
void SelectStort()
{
int i,j;
int arr[7];
printf("请输入要排数字:\n");
for(i=0;i<=6;i++)
scanf("%d",&arr[i]);
for(i=0;i<=5;i++)
{
int k;
k=i;
for(j=i+1;j<=6;j++)
{
if(arr[k] k=j;
}
if(i!=k)
{
int t;
t=arr[i];
arr[i]=arr[k];
arr[k]=t;
}
}
printf("排序后的数:\n");
for(i=0;i<=6;i++)
printf("%4d",arr[i]);
}
void InsertSort()
{
int i,j;
int arr[7];
printf("请输入要排数字:\n");
for(i=0;i<=6;i++)
scanf("%d",&arr[i]);
for( i=1;i<=6;i++)
{
int t;
t = arr[i];
for(j=i;j>0 && arr[j-1]>arr[j];j--)
{
arr[j]=arr[j-1];
arr[j-1]=t;
}

}
printf("排序后的数:\n");
for(i=0;i<=6;i++)
printf("%4d",arr[i]);
}
void main(){
printf("----------------------------\n");
printf("---------1.选择排序---------\n");
printf("---------2.冒泡排序---------\n");
printf("---------3.插入排序---------\n");
printf("----------------------------\n");
printf("请输入你的选择(1,2,3):");
int c;
scanf ("%d",&c);
if (c==1)
BubbleStort();
if(c==2)
SelectStort();
if(c==3)
InsertSort();
}写的是7个 要是还有的话 你改下参数有几种方法排序

回答2:

这个是比较三个数的大小的,你看看有用不?#include
void main()
{
int a;
int b;
int c;
int d;
scanf("%d %d %d",&a,&b,&c); //读入数据
if (a>b)
d=a;
else d=b; //取a、b中的最大值
if (dd=c;
printf("%d",d); //输出三个数中的最大值
}

回答3:

#include

int main()
{
int a[] = { 3,9,4,8,2,6,0,5,1,7 };
int i = 0, t;
while ( i < 10 )
if ( a[i] < a[i+1] )
++i;
else {
t = a[i];
a[i] = a[i+1];
a[i+1] = t;
--i;
}
for ( i = 0; i < 10; ++i )
printf( "%d ", a[i] );
}

回答4:

你要比较几个数,都不一样的!!