|
本帖最后由 rosynirvana 于 2013-8-6 19:17 编辑
for(i=1;i<=N;i++)
scanf("%d,&a");
这里开始就错了
- int a[N];
- for(i=0;i<N;i++)
- scanf("%d",&a[i]);
复制代码 或者
- int a[N];
- for(i=0;i<N;i++)
- scanf("%d",a+i);
复制代码 都可以
不要跟着老谭学把数组第一个位置丢掉
for(j=1;j<=N-1;j++)
for(i=1;i<=N-j;j++)
if(a>a[i+1])
{t=a;a=a[i+1];a[i+1]=t;}
这里也不对,i j写混了。另外和上面的错误一样,一直在交换首地址- for(i=0;i<=N-1;i++)
- for(j=0;j<N-i-1;j++)
- if(a[j]>a[j+1]){
- t=a[j];
- a[j]=a[j+1];
- a[j+1]=t;
- }
复制代码 最后的输出- for(i=0;i<N;i++)
- printf("%d ",a[i]);
复制代码 最后,记住是int main,不要写void main |
|