#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
int i,j;
int a[6];
char ans;
while(1)
{
for(i=0; i<5; i++)
scanf("%d",&a[i]);
if(a[0]>a[1])
{
for(i=0; i<4; i++)
for(j=i+1; j<5; j++)
{
if(a[i]<a[j])
{
int t=a[i];//大小
a[i]=a[j];
a[j]=t;
}
}
for(i=0; i<5; i++)
printf("%d ",a[i]);
printf("\n");
printf("Input a new number: ");
scanf("%d",&a[5]);
for(i=0; i<5; i++)
for(j=i+1; j<=5; j++)
{
if(a[i]<a[j])
{
int t=a[i];//大小
a[i]=a[j];
a[j]=t;
}
}
for(i=0;i<6; i++)
printf("%d ",a[i]);
printf("\n");
}
else
{
for(i=0; i<4; i++)
for(j=i+1; j<5; j++)
{
if(a[i]>a[j])
{
int t=a[i];//大小
a[i]=a[j];
a[j]=t;
}
}
for(i=0; i<5; i++)
printf("%d ",a[i]);
printf("\n");
printf("Input a new number: ");
scanf("%d",&a[5]);
for(i=0; i<5; i++)
for(j=i+1; j<=5; j++)
{
if(a[i]>a[j])
{
int t=a[i];//大小
a[i]=a[j];
a[j]=t;
}
}
for(i=0;i<6; i++)
printf("%d ",a[i]);
printf("\n");
}
printf("\n按Y键继续或按任意键退出");
ans=getch();
if (ans!='y'&&'Y')
break;
}
}
我自己写的程序只能输入固定的五个数据,请大家帮忙改一下,可以输入小于等于20个数据!
在线等,谢谢大家!
详细程序给我给一下,谢谢
#include <stdlib.h>
#include <assert.h>
int compare (const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}
int main ()
{
int n;
int i;
int *values;
printf("请输入n:");
scanf("%d",&n);
assert(n>0);
values=(int*)malloc(n*sizeof(int));
for(i=0;i<n;i++)scanf("%d",values+i);
qsort (values, n, sizeof(int), compare);
for (i=0; i<n; i++)printf ("%d ",values[i]);
printf("\n");
free(values);
system("pause");
return 0;
}本回答被网友采纳