C语言编程,运行后刚刚输入一个数,回车后提述“debug error”,怎么回事?

#defineN10#include<stdio.h>voidmain(){inti,j,b,m,pos,a[N];printf("请输入十个数:\n");for(i=0... #define N 10
#include<stdio.h>
void main()
{
int i,j,b,m,pos,a[N];
printf("请输入十个数:\n");
for(i=0;i<N;i++)
{
printf("第%d个数为:",i+1);
scanf("%f",&a[i]);
}
printf("按从小到大的顺序排列为:");
for(j=0;j<N;j++)
{
pos=j;
for(b=j+1;b<N;b++)
if(a[pos]>a[b])
pos=j;
if(pos!=j)
{m=a[pos];a[pos]=a[j];a[j]=m;}
printf("5d",m);
}
printf("\n");
}
展开
 我来答
leiyangbdwk
2011-12-27 · TA获得超过3295个赞
知道大有可为答主
回答量:4975
采纳率:12%
帮助的人:4390万
展开全部
数组a定义是整型,但是输入要求浮点型。
改一下scanf("%d",&a[i]);
blackeyescn
2011-12-27 · TA获得超过560个赞
知道小有建树答主
回答量:471
采纳率:100%
帮助的人:462万
展开全部
for(b=j+1;b<N;b++)
if(a[pos]>a[b])
pos=j;
if(pos!=j)
{m=a[pos];a[pos]=a[j];a[j]=m;}

以上的for循环,你要用{}包含起来,注意不要养成不用{}的习惯!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Eaglemengwei
2011-12-27
知道答主
回答量:51
采纳率:0%
帮助的人:20.3万
展开全部
其实没什么错误,,
数据的类型不匹配。。。
上面的是整数类型,下面输入的时候 变成浮点型的了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
深远且恬静的小百花
2011-12-27 · TA获得超过376个赞
知道小有建树答主
回答量:404
采纳率:0%
帮助的人:222万
展开全部
pos=j;//pos=b;
scanf("%f",&a[i]);//定义的是int ,你输入float
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式