极光


私信TA

用户名:2484555172

访问量:1515

签 名:

等  级
排  名 21624
经  验 666
参赛次数 0
文章发表 7
年  龄 18
在职情况 学生
学  校
专  业

  自我简介:

解题思路:   详见代码

注意事项:   传参数时应为地址

参考代码:

#include<stdio.h>

int  swap(int* x, int* y)   //定义一个函数,用以交换变量

{

     int tem = 0;

    tem = *x;

    *x = *y;

    *y = tem;

}


int main(void)

{

    int a, b, c;

    scanf("%d %d %d", &a, &b, &c);

    if (a > b)

        swap(&a, &b);  //交换a b的值

    if (a > c)

        swap(&a,&c);   //交换 a c

    if (b > c)

        swap(&b,&c);  //交换 b c

    printf("%d %d %d\n", a, b, c);

    return 0;

}


 

0.0分

2 人评分

  评论区

要先交换旁边的,比如说a=2,b=3,c=1;这样if(a>b)不满足,进入if(b>c),交换后a=2,b=1,c=3;然后if(a>c)不满足就输出了。打印出来就是a=2,b=1,c=3.应该把判断if(a>c)模块放在if(b>c)模块的后面。
2021-02-21 14:49:07
#include<stdio.h>
int main()
{
	int a,b,c,t;
	scanf("%d%d%d",&a,&b,&c);
	if(a>b){
			t=a;
			a=b;
			b=t;
	}
	if(b>c)
		{
			t=b;
			b=c;
			c=t;
		}
		if(a>c)
		{
			t=a;
			a=c;
			c=t;
		}
printf("%d %d %d",a,b,c);
return 0;
}
/*********************/
可以请教一下我这个哪里错了吗?不明白为什么一直过不去
2021-02-20 21:39:58
  • «
  • 1
  • »