c语言 输入3个字符串 按小到大的顺序输出(采用指针实现)

如题所述

第1个回答  2008-12-16
#include <stdio.h>
main()
{
int a[3],*p,i,t;
for(i=0;i<3;i++)
scanf("%d",&a[i]);
p=a;
if(*p>*(p+1))
{t=*p;*p=*(p+1);*(p+1)=t;}
if(*p>*(p+2))
{t=*p;*p=*(p+2);*(p+2)=t;}
if(*(p+1)>*(p+2))
{t=*(p+1);*(p+1)=*(p+2);*(p+2)=t;}
for(p=a;p<a+3;p++)
printf("%d ",*p);
}

WIN-TC 编译通过:输入:5 1 9
输出: 1 5 9本回答被网友采纳
第2个回答  2008-12-16
#include <stdio.h>

int main()
{
int ch[3]={0};
int *p,temp,i,j;
scanf("%d%d%d",&ch[0],&ch[1],&ch[2]);
p=ch;
for(j=0;j<3;j++)
for(i=0;i<2;i++)
{
if(*(p+i)>*(p+i+1))
{
temp=*(p+i);
*(p+i)=*(p+i+1);
*(p+i+1)=temp;
}
}
printf("%d %d %d\n",*p,*(p+1),*(p+2));
}
相似回答