| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1833 人关注过本帖
标题:用指针实现:任意输入20个数,将它们按照从大到小的顺序输出。
只看楼主 加入收藏
dengjun000
Rank: 2
等 级:论坛游民
帖 子:66
专家分:77
注 册:2009-10-14
收藏
得分:0 
#include <stdio.h>
 
main()
{
  int i=0,a[20],*p,temp;
  p=a;
  for(i=0;i<20;i++)
  {
    printf("input:\n");
    getch();
    scanf("%d",&(*(p+i)));
  }
  for(i=0;i<19;i++)
  {
    if(*(p+i)<*(p+i+1))
    {
      temp=*(p+i);
      *(p+i)=*(p+i+1);
      *(p+i+1)=temp;
    }
  }
  for(i=0;i<20;i++)
  {
    printf("%d",*(p+i));
    getch();
  }
}
2009-10-28 18:20
忆水流年
Rank: 1
等 级:新手上路
帖 子:12
专家分:2
注 册:2009-9-17
收藏
得分:0 
# include <stdio.h>
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+k);
            *(x+k)=t;
        }
    }
}
void main()
{
    int *p,i,a[20];
    printf("Please input the array :\n");
    p=a;
    for (i=0;i<20;i++)
        scanf("%d,",p++);
    p=a;
    sort(p,20);
    for (p=a,i=0;i<20;i++)
    {     
        printf("%d ",*p);
        p++;
    }
}
看看这个,应该是正确的
2009-10-28 19:34
Quavarion
Rank: 2
等 级:论坛游民
帖 子:60
专家分:28
注 册:2009-10-9
收藏
得分:0 

#include<stdio.h>
void sort(int *array,int n)
{
   int i,j,k,t;
   for(i=0;i<n-1;i++)
    { k=i;
     for(j=i+1;j<n;j++)
      if(array[j]<array[k])
      k=j;
     t=array[k];array[k]=array[i];array[i]=t;
    }
}
 
void main()
{
   int i,a[20];
     printf("Please input 20 numbers:\n");
     for(i=0;i<20;i++)
      scanf("%d",&a[i]);
       printf("The sorted number:\n");
      sort(a,20);
      for(i=0;i<20;i++)
      printf("%d ",a[i]);
      getch();
}
2009-10-28 21:32
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:0 
用指针实现:任意输入20个数,将它们按照从大到小的顺序输出。
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define M 20
int intcmp(const void *v1,const void *v2);
void main()
{
    int a[M],i,*p=a;
    for(i=0;i<M;i++)
        scanf("%d",p+i);
    qsort(p,M,sizeof(a[M]),intcmp);
    for(i=0;i<M;i++)
        printf("%-5d",*(p+i));
    getch();
}
int intcmp(const void *v1,const void *v2)
{
    return *(int *)v2-*(int *)v1;
}
这是我编的程序,不知道是否符合大家的意愿呀!呵呵呵!

愿用余生致力编程
2009-10-28 22:28
liu200909
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:56
专家分:54
注 册:2009-9-20
收藏
得分:0 
#include "stdio.h"
#define N 20
main()
{
    int *p,a[N],i,j,t;
    p=a;
    printf("请输入%d个数:\n",N);
    for(i=0;i<N;i++)
       scanf("%d",(p+i));
    for(i=0;i<N;i++)
        for(j=0;j<N-i-1;j++)
            if(*(p+j+1)>*(p+j))
            {
                t=*(p+j);
                *(p+j)=*(p+j+1);
                *(p+j+1)=t;               
            }
    printf("输出排列好的%d个数为:\n",N);
    for(i=0;i<N;i++)
       printf("%5d",*(p+i));
    printf("\n");
}
2009-10-28 23:02
快速回复:用指针实现:任意输入20个数,将它们按照从大到小的顺序输出。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015011 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved