黑马程序员技术交流社区
标题:
3个由小到大输出的代码,但是调用的函数没发挥作用
[打印本页]
作者:
الغيوم_ا
时间:
2014-7-14 23:06
标题:
3个由小到大输出的代码,但是调用的函数没发挥作用
#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;
}
作者:
爱情路13号
时间:
2014-7-15 02:48
首先一般情况下用int main(),其次swap函数定义的不是指针变量,而且是传进去的也不是地址。主函数最后的return 0;楼主也丢了。这是代码规范
作者:
爱情路13号
时间:
2014-7-15 02:58
#include <stdio.h>
int main(int argc, const char * argv[])
{
int a,b,c;
printf("请输入三个整数\n");
scanf("%d %d %d",&a,&b,&c);
/*以下是六种情况的判断,这是自己没事的时候写,感觉是属于枚举几种类型。在数字比较多的情况下就不适用了。比如5个,6个及以上等就要用数组的方式来判断并且用冒泡排序。虽然现在仍然觉得这个代码比较繁琐,但是运行之后能够完全正确的输出三个数的大小,楼主可以参考下。
*/
if (a<=b)
{
if (a<=c)
{
if (b<=c)
{
printf("%d%d%d\n",c,b,a);
}
else
printf("%d%d%d\n",c,b,a);
}
else if(a>=c)
{
if (b>=c)
{
printf("%d%d%d\n",b,a,c);
}
else
printf("%d%d%d\n",b,c,a);
}
}
else if(a>=c)
{
if (b>=c)
{
printf("%d%d%d\n",a,b,c);
}
else
{
printf("%d%d%d\n",a,c,b);
}
}
return 0;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2