第1个回答 2013-02-08
LS各位说的不错,LZ的格式化输入输出都写错了,输入误写了d%这样的东西,
输出里没加格式化标记。
但是,各位ls的朋友们,LZ的代码你们都懒得编译吧?LZ你的算法有误。。。
我贴一个正确的,LZ是通过不断判断条件的方法来组合结果的,但是LZ,
关于第一个if(x>y)相对应的那个else,这个情况里y>=x,那么之后的 if(z>x)
里,显然这时的这个情况是没意义的吧?y和z的大小关系不知道啊。
当然啦,我也可能老眼昏花看错啦,但LZ仔细看看吧?相信其它问题可能
也有,反正我编译以后结果不对。
我贴一个很有趣的冒泡排序思想的算法好了:
#include<stdio.h>
int main()
{
int x,y,z,tmp;
printf("请输入三个不同的数字,每输入一个数字用逗号隔开\n");
scanf("%d,%d,%d",&x,&y,&z);
if(x>y)
{
tmp = x;
x = y;
y = tmp;
}
if(y>z)
{
tmp = y;
y = z;
z = tmp;
}
if(x>y)
{
tmp = y;
y = x;
x = tmp;
}
printf("输入的三个数字由大到小排列为:%d,%d,%d\n",x,y,z);
return 0;
}
第2个回答 2013-02-08
scanf("%d,%d,d%",&x,&y,&z);
打错了,应该是:scanf("%d,%d,%d",&x,&y,&z);第三个%d弄错了
printf("输入的三个数字由大到小排列为:",z,x,y);
改成:printf("输入的三个数字由大到小排列为:%d,%d,%d",z,x,y);才能有输出
先把这些改了再看看,结果对不对
第3个回答 2013-02-08
你把每一个printf函数里面都加这么一段:%d,%d,%d\n,
比如第一个:改成 printf("输入的三个数字由大到小排列为:%d,%d,%d\n",z,x,y);
后面的也这样改就可以了。
第4个回答 2013-02-08
你的输出不对啊 printf("输入的三个数字由大到小排列为:",x,y,z);改为 printf("输入的三个数字由大到小排列为:%8d%8d%8d",x,y,z);(8是用来控制间隔的)
第5个回答 2013-02-08
LS各位说的不错,LZ的格式化输入输出都写错了,输入误写了d%这样的东西,
输出里没加格式化标记。
但是,各位ls的朋友们,LZ的代码你们都懒得编译吧?LZ你的算法有误。。。
我贴一个正确的,LZ是通过不断判断条件的方法来组合结果的,但是LZ,
关于第一个if(x>y)相对应的那个else,这个情况里y>=x,那么之后的 if(z>x)
里,显然这时的这个情况是没意义的吧?y和z的大小关系不知道啊。
当然啦,我也可能老眼昏花看错啦,但LZ仔细看看吧?相信其它问题可能
也有,反正我编译以后结果不对。
我贴一个很有趣的冒泡排序思想的算法好了:
#include<stdio.h>
int main()
{
int x,y,z,tmp;
printf("请输入三个不同的数字,每输入一个数字用逗号隔开\n");
scanf("%d,%d,%d",&x,&y,&z);
if(x>y)
{
tmp = x;
x = y;
y = tmp;
}
if(y>z)
{
tmp = y;
y = z;
z = tmp;
}
if(x>y)
{
tmp = y;
y = x;
x = tmp;
}
printf("输入的三个数字由大到小排列为:%d,%d,%d\n",x,y,z);
return 0;
}
第6个回答 2013-02-08
scanf("%d,%d,d%",&x,&y,&z);
打错了,应该是:scanf("%d,%d,%d",&x,&y,&z);第三个%d弄错了
printf("输入的三个数字由大到小排列为:",z,x,y);
改成:printf("输入的三个数字由大到小排列为:%d,%d,%d",z,x,y);才能有输出
先把这些改了再看看,结果对不对
第7个回答 2013-02-08
你把每一个printf函数里面都加这么一段:%d,%d,%d\n,
比如第一个:改成 printf("输入的三个数字由大到小排列为:%d,%d,%d\n",z,x,y);
后面的也这样改就可以了。
第8个回答 2013-02-08
你的输出不对啊 printf("输入的三个数字由大到小排列为:",x,y,z);改为 printf("输入的三个数字由大到小排列为:%8d%8d%8d",x,y,z);(8是用来控制间隔的)