A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

#include <stdio.h>
void main()
{
void swap(int x, int y); //自定义函数swap说明
int n1, n2, n3; /* 定义3整型变量 */

printf("Please input three integers n1, n2, n3: \n");
scanf("%d, %d, %d", &n1, &n2, &n3); //从键盘输入3个整数给3个整型变量

if(n1 > n2) swap(n1,n2); //如果n1> n2,则调用swap函数进行交换
if(n1 > n3) swap(n1, n3);
if(n2 > n3) swap(n2, n3);
printf("Now, the order is %d, %d, %d\n", n1, n2, n3); //输出交换后的3个新整数
}
void swap(int x, int y) //swap函数定义,形式参数为两个整型指针变量
{
int temp;
temp = x; //交换所指对象
x = y;
y = temp;
}

评分

参与人数 1技术分 +1 收起 理由
傘が咲く + 1

查看全部评分

2 个回复

倒序浏览
首先一般情况下用int main(),其次swap函数定义的不是指针变量,而且是传进去的也不是地址。主函数最后的return 0;楼主也丢了。这是代码规范
回复 使用道具 举报
  1. #include <stdio.h>

  2. int main(int argc, const char * argv[])
  3. {
  4.     int a,b,c;
  5.     printf("请输入三个整数\n");
  6.     scanf("%d %d %d",&a,&b,&c);
  7.     /*以下是六种情况的判断,这是自己没事的时候写,感觉是属于枚举几种类型。在数字比较多的情况下就不适用了。比如5个,6个及以上等就要用数组的方式来判断并且用冒泡排序。虽然现在仍然觉得这个代码比较繁琐,但是运行之后能够完全正确的输出三个数的大小,楼主可以参考下。
  8.      */
  9.     if (a<=b)
  10.     {
  11.         if (a<=c)
  12.         {
  13.             if (b<=c)
  14.             {
  15.                  printf("%d%d%d\n",c,b,a);
  16.             }
  17.             else
  18.             printf("%d%d%d\n",c,b,a);
  19.         }
  20.         else if(a>=c)
  21.         
  22.         {
  23.             if (b>=c)
  24.             {
  25.                 printf("%d%d%d\n",b,a,c);
  26.                
  27.             }
  28.             else
  29.              printf("%d%d%d\n",b,c,a);
  30.         }
  31.     }
  32.     else if(a>=c)
  33.     {
  34.         if (b>=c)
  35.         {
  36.             printf("%d%d%d\n",a,b,c);
  37.         }
  38.         else
  39.         {
  40.         printf("%d%d%d\n",a,c,b);
  41.         }
  42.     }
  43.     return 0;
  44. }
复制代码


评分

参与人数 1技术分 +1 收起 理由
傘が咲く + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马