作者在 2008-04-28 16:16:09 发布以下内容
//NO.1将a数组中的N个数按逆序排列
#include<stdio.h>
void inv(int a[],int n);
void main()
{
int a[10];
int i;
for(i=0;i<10;i++)
scanf("%d",*(a+i));
inv(a,10);
for(i=0;i<10;i++)
printf("%d",*(a+i));
}
void inv(int a[],int n)
{
int i;
int j=(n-1)/2;
int temp;
for(i=0;i<j;i++)
{
temp=a[i];
a[i]=a[n-i-1];
a[n-i-1]=temp;
}
return;
}
//NO.2选择法排序
#include<stdio.h>
void sort(int x[],int n);
void main()
{
int a[10];
int i;
int *p;
p=a;
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
sort(p,10);
for(i=0;i<10;i++)
printf("%d",*p++);
}
void sort(int x[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(*(x+j)>*(x+k))
k=j;
if(k!=i)
{
t=*(x+i);
*(x+i)=*(x+j);
*(x+j)=t;
}
}
}