各位师兄,小弟新手又道题不会,谁来帮一下
这个试题是输出一组数,最大的放在第一个最小的放到最后一个,关键是运行到输入的时候,打上数字就运行不下去了# include <stdio.h>int main(void)
{
int i = 0,h = 0,t = 0,s = 0,a;
printf("请输入您要排序的数字\n");
for(i = 0;i<5;i++)
{
scanf("%d",&a);
}
printf("排序开始:");
for(i=0;i<5;i++)
{
if(a<a)
{
t = a;
a = a;
a = t;
}
if(a>a)
{
t = a;
a = a;
a = t;
}
}
for(i = 0;i<5;i++)
{
printf("%d",&a);
}
} printf("%d",a);而且循环最好到4 因为你有i+1 第二个for循环的判断条件改成 i < 4 ;而且循环里面的判断也有问题,这个问题会导致你不能输出正确的结果,当a < a成立,将a和a交换位置后,此时,a就大于a了,下一个判断也会成立,结果又变回原来的位置了,简而言之,第二个if语句没用。 看看顺便顶LZ 上面那位师兄说的我没有看懂呢,哪位师兄有时间给我写一个真确的我对比改正一下 南国的梦 发表于 2014-6-22 20:20 static/image/common/back.gif
上面那位师兄说的我没有看懂呢,哪位师兄有时间给我写一个真确的我对比改正一下
那我给你写个用选择排序法排的吧 南国的梦 发表于 2014-6-22 20:20 static/image/common/back.gif
上面那位师兄说的我没有看懂呢,哪位师兄有时间给我写一个真确的我对比改正一下
for(int i = 0;i < 4;i++)
{
for(int j = i+1;j < 5;j++)
{
if(a < a)
{
int temp = a;
a = a;
a = temp;
}
}
} 南国的梦 发表于 2014-6-22 20:20 static/image/common/back.gif
上面那位师兄说的我没有看懂呢,哪位师兄有时间给我写一个真确的我对比改正一下
一些基本的排序算法自己要掌握,要达到能不看书随随便便就能打出来的地步 支持小甲鱼~~~ # include <stdio.h>
int main()
{
int i ,t,j,a;
printf("请输入您要排序的数字\n");
for(i = 0;i<5;i++)
{
scanf("%d",&a);
}
printf("排序开始:");
for(j=0;j<4;j++)
{
for(i=0;i<5-j;i++)
{
if(a<a)
{
t = a;
a = a;
a = t;
}
}
}
for (i=0;i<5;i++)
{
printf("%d\n",a);
}
return 0;
} 本帖最后由 xuheng 于 2014-6-23 15:56 编辑
xuheng 发表于 2014-6-23 12:31 static/image/common/back.gif
:sweat:之前的选择排序没写好…… 本帖最后由 xuheng 于 2014-6-23 16:04 编辑
#include <stdio.h>
int main()
{
int i,j,k,temp;
int a;
for(i = 0;i < 5;i++)
{
scanf("%d",&a);
}
for(i = 0;i < 4;i++)
{
k = i;
for(j = i+1;j < 5;j++)
{
if(a < a)k = j;
}
if(k != i)
{
temp = a;
a = a;
a = temp;
}
}
for(i = 0;i < 5;i++)
printf("%d ",a);
}
xuheng 发表于 2014-6-23 15:55 static/image/common/back.gif
师兄出线黑屏输入5个数以后程序还是不运行 ﹍俗。 发表于 2014-6-23 14:04 static/image/common/back.gif
# include
int main()
{
师兄出线黑屏输入5个数以后程序还是不运行,而且数字输入没有限制比如输入来人12345,然后回车不输出只调到下一行而且还能输入 南国的梦 发表于 2014-6-24 06:00 static/image/common/back.gif
师兄出线黑屏输入5个数以后程序还是不运行
截个图看看- -我运行没问题啊。。 南国的梦 发表于 2014-6-24 06:02 static/image/common/back.gif
师兄出线黑屏输入5个数以后程序还是不运行,而且数字输入没有限制比如输入来人12345,然后回车不输出只调 ...
什么编译器,我VC6.0编译没出错 1012662902 发表于 2014-6-21 23:08 static/image/common/back.gif
看看顺便顶LZ
在同一个主函数中相同的循环变量不可以用在两个for循环中,所以有
for{int i=0;i<5;i++}
{
for(int k=0;k<7;K++)
{
}
} 1697673999 发表于 2014-6-25 11:05 static/image/common/back.gif
在同一个主函数中相同的循环变量不可以用在两个for循环中,所以有
for{int i=0;i
对不住,刚才弄错了,可以的 最后printf()语句里不能加取地址符&
页:
[1]