求解释 我想知道为什么第一个评测结果错误 第二个就正确 我对比了好久实在找不出来错在哪里了 拜托啦
#include
int maopao(int a[],int n)
{
int i,j,temp;
for(j=0;j for(i=0;i if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
int main()
{
int i,n,a[200];
scanf("%d",&n);
for(i=0;i scanf("%d",&a[i]);
maopao(a,n);
printf("%d",a[0]);
for(i=1;i printf("%d",a[i]);
printf("\n");
return 0;
}
------此处为分界线,评测显示上面的错误,下面的正确------------
#include
int maopao(int a[],int n)
{
int i,j,temp;
for(i=0;i for(j=0;j if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
int main()
{
int i,n,a[200];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
maopao(a,n);
printf("%d",a[0]);
for(i=1;i<n;i++)
printf(" %d",a[i]);
printf("\n");
return 0;
}
(两组基本借用的s璇大大的,还望谅解)
区别如图,你第一个写成for(i=0;iscanf("%d",&a[i]);明显的语法错误,冒泡代码也没贴对,
因为输出格式有要求用空格分开,所以printf(" %d",a[i]);,而第一份代码printf("%d",a[i]);
并且从第二个开始有空格,
我个人认为你自己都没有看控制台输出吧,先把调试技能好好学一下
for(j=0;j for(i=0;i if(a[i]>a[i+1])这个是正确的
for(i=0;i for(j=0;j if(a[j]>a[j+1])这个是下面错误的