Two ploblems

作者在 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;
   }
 }
}

默认分类 | 阅读 2830 次
文章评论,共0条
游客请输入验证码
浏览28564次
文章分类