用指针实现三个整数的排序·谢谢!
#include<stdio.h>
voidchange(int*x,int*y)
{
inttemp;
temp=*x;
*x=*y;
*y=temp;
}
voidexchange(int*q1,int*q2,int*q3)
{
if(*q1<*q2)change(q1,q2);
if(*q1<*q3)change(q1,q3);
if(*q2<*q3)change(q2,q3);
}
void main()
{
inta,b,c,*p1,*p2,*p3;
printf("pleaseenterthenumbers:");
scanf("%d,%d,%d",&a,&b,&c);
p1=&a;
p2=&b;
p3=&c;
exchange(p1,p2,p3);
printf("\nmax=%d,mid=%d,min=%d\n",a,b,c);
system("pause");
}
运行结果
扩展资料:
printf函数使用注意事项
1、域宽
%d:按整型数据的实际长度输出。
如果想输出指定宽度可以指定域宽,%md-->m域宽,打印出来以后,在控制台上,显示m位;
如果我们要打印的数的位数如果超过我们设定m则原样输出;如果我们要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:
如果m为正数,则左对齐(左侧补空白);
如果m为负数,则右对齐(右侧补空白)。
2、转义字符
如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。
如:printf("%f%%",1.0/3);输出结果:0.333333%。
推荐于2017-12-16
void main()
{
void swap(int *p1, int *p2);
int a,b,c;
int *p1,*p2,*p3;
printf("请输入三个整数:\n");
scanf("%d,%d,%d",&a,&b,&c);
p1=&a;
p2=&b;
p3=&c;
if(*p1>*p2)
{
swap(p1,p2);
}
if(*p1>*p3)
{
swap(p1,p3);
}
if(*p2>*p3)
{
swap(p2,p3);
}
printf("按从大到小的顺序为:%d,%d,%d\n",*p1,*p2,*p3);
}
void swap(int *p1,int *p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
2013-11-18
int *p1 = &a;
int *p2 = &b;
int *p3 = &c;
if( *p1 < *p2 )
{
int *p = p1;
p1 = p2;
p2 = p;
}
if( *p1 < *p3 )
{
int *p = p1;
p1 = p3;
p3 = p;
}
if( *p2 < *p3 )
{
int *p = p2;
p2 = p3;
p3 = p;
}