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");
} 展开
#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");
} 展开
4个回答
展开全部
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循环,你要用{}包含起来,注意不要养成不用{}的习惯!
if(a[pos]>a[b])
pos=j;
if(pos!=j)
{m=a[pos];a[pos]=a[j];a[j]=m;}
以上的for循环,你要用{}包含起来,注意不要养成不用{}的习惯!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实没什么错误,,
数据的类型不匹配。。。
上面的是整数类型,下面输入的时候 变成浮点型的了
数据的类型不匹配。。。
上面的是整数类型,下面输入的时候 变成浮点型的了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
pos=j;//pos=b;
scanf("%f",&a[i]);//定义的是int ,你输入float
scanf("%f",&a[i]);//定义的是int ,你输入float
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询