用指针作为函数的参数,设计一个实现;两个参数交换的函数。输入三个实数,按升序排序后输出。

来源:百度知道 编辑:UC知道 时间:2024/06/08 18:40:45
请高手帮帮忙~~~~

楼上的回答不符合楼主的意思,楼主的意思应该是输入3个数,两两交换后按从小到大的顺序输出.下面是我写的程序:
#include "stdio.h"

void swap(int *p,int *q) //实现两两交换的函数
{
int temp;
temp=*p;
*p=*q;
*q=temp;
}

main()
{
int a,b,c,*pa,*pb,*pc;
pa=&a;pb=&b;pc=&c;
printf("请输入3个数:\n");
scanf("%d%d%d",pa,pb,pc);
if(a>b) swap(pa,pb); //判断大小,是否要交换
if(a>c) swap(pa,pc);
if(b>c) swap(pb,pc);
printf("%d,%d,%d",a,b,c);
}

/*运行结果:
请输入3个数:2 6 3
2,3,6
*/

#include<stdio.h>
#define N 3
void main()
{
int i,j;
int k,a[N]={0},*p=a;
printf("please input a[N]:",N);
for(i=0;i<N;i++)scanf("%d",&a[i]);
for(i=0;i<N;i++)
for(j=i;j<N;j++)
if(*(p+i)>*(p+j))
{
k=*(p+i);
*(p+i)=*(p+j);
*(p+j)=k;
}
for(i=0;i<N;i++)
printf(&quo