8楼的应该是 void main()把
----------------解决方案--------------------------------------------------------
晕
----------------解决方案--------------------------------------------------------
三个数字就设定一个临时的变量,让数字两两比较,大的方到临时的变量里,最后在输出就行了。9楼的代码应该看得懂。
----------------解决方案--------------------------------------------------------
大概的明白了。。我自己再专研专研吧。。谢谢各位了。
----------------解决方案--------------------------------------------------------
#include<stdio.h>
void swap(int *p,int *q)
{
int z;
z=*p;
*p=*q;
*q=z;
}
exchange(int *p1,int*p2,int *p3)
{
if(*p1<*p2)swap(p1,p2);
if(*p2<*p3)swap(p2,p3);
if(*p1<*p3)swap(p1,p3);
}
main()
{
int a,b,c;
int *p1,*p2,*p3;
printf("please input a,b,c:\n");
scanf("%d%d%d",&a,&b,&c);
p1=&a,p2=&b,p3=&c;
exchange(p1,p2,p3);
printf("%d %d %d",a,b,c);
getch();
}
我觉得现在比较清楚一点吧
----------------解决方案--------------------------------------------------------
改用指针与函数
#include<stdio.h>
void num(int *a,int *b,int *c)
{
int temp;
if(*a>*b)
{
temp=*a;
*a=*b;
*b=temp;
}
if(*a>*c)
{
temp=*a;
*a=*c;
*c=temp;
}
if(*b>*c)
{
temp=*b;
*b=*c;
*c=temp;
}
}
int main()
{
int A,B,C;
printf("请输入三个数:");
scanf("%d%d%d",&A,&B,&C);
num(&A,&B,&C);
printf("由小到大的顺序为:%d %d %d\n",A,B,C);
return 0;
}
----------------解决方案--------------------------------------------------------