第1个回答 2007-12-31
void f(int *p)/*排序函数*/
{
int i,j,temp;
for(i=1;i<10;i++)
for(j=0;j<9;j++)
{
if(*(p+j) > *(p+j+1))
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
main()
{
int i,a[]={9,8,7,6,5,4,3,2,1,0};
f(a);
for(i=0;i<10;i++)
printf("%d\n",a[i]);
getch();
}
void reorder(int str[])
{
int temp;
for(int i=0;i<10;i++)
{
for(int j=i;j<N;j++)
{
if(str[i]>str[j])
{
temp=str[i];
str[i]=str[j];
str[j]=temp;
}
}
}
for(i=0;i<10;i++)
printf("%2d",str[i]);
printf("\n");
}
第2个回答 2019-06-05
以下是用选择法
main()
{
int
a[10],i,j,temp;
printf("input
a[].\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
for(j=0;j<10-i;j++)
{
if(a[j]<a[j+1])
{temp=a[j];a[j]=a[j+1];a[j+1]=temp;}
}
for(i=0;i<10;i++)
printf("%d
",a[i]);
}
如果输入的是小数(浮点型),那把int
改float
,%d
改%f