C语言小代码求助~

这是一个输入10个数字然后由小到大排序的代码:#include<stdio.h>#include<conio.h>#defineN10intmain(){printf("... 这是一个输入10个数字然后由小到大排序的代码:
#include<stdio.h>
#include<conio.h>
#define N 10
int main()
{
printf("请输入十个数字\n");
int b,c,d;
int a[N];
for(b=0;b<N;b++)
scanf("%d ",&a[b]);
for(c=b+1;c<N;c++)
{
if(a[b]<a[c])
{ d=a[b]; a[b]=a[c];a[c]=d;}
}
for(b=0;b<N;b++)
printf("%d ",a[b]);
getch();
return 0;
}
然而这个代码并不能得出正确结果,只能显示输入的数字,并把最后一个输入的数字吃掉=、=
求助大神~这代码哪里有问题?
展开
 我来答
微俊king
2015-10-16 · TA获得超过576个赞
知道小有建树答主
回答量:626
采纳率:50%
帮助的人:566万
展开全部
#include<stdio.h>
#define N 10
int main()
{
 printf("请输入十个数字\n");
 int b,c,d;
 int  a[N];
 for(b=0;b<N;b++)
  scanf("%d",&a[b]);
 for(b = 0; b < N; ++b)
        for(c=b+1;c<N;c++){
                     if(a[b]>a[c])
                     { d=a[b]; a[b]=a[c];a[c]=d;}
        }

 for(b=0;b<N;b++)
  printf("%d ",a[b]);
 return 0;
}
追问
大神大神~好神奇!
为什么这样就可以用了?
我的代码出了什么问题=。=
追答
说两个关键的 一个是为什么你输入十一个才有用 因为你的scanf("%d ",&a[b]); 双引号多了空格 其实你输完十个再加个空格就可以了 这个是格式化的问题 

排序是你的算法根本不对 bubble排序自己多看一下 把逻辑理解了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式