输入11个整数,如果第1个数为1,则将其中的第2至11个数升序排列;如果第1个数为0,则降序排列。

#include<stdio.h>
int main()
{
int x,i;
scanf("%d",x);
int a[10];
for(i=0;i<10;i++)
{
scanf("%d",a[i]);
}
int t,j;
if(x=1)
{
for(i=0;i<10;i++)
{
for(j=0;j<10-i;j++)
{
if(a[j]>a[j+1])
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
else
{
for(i=0;i<10-i;i++)
{
for(j=0;j<10-i;j++)
{
if(a[j]<a[j+1])
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=0;i<10;i++)
printf("%d",a[i]);
return 0;
}
想问一下哪个地方出了问题呢?

img

img

#include<stdio.h>
int main()
{
    int x,i,j,t;
    printf("请输入数组元素个数:");
    scanf("%d",&x);
    int a[11];
    printf("请输入%d个数:",x);
    for(j=0; j<x; j++)
    {
        scanf("%d",&a[j]);
    }
    if(a[0]==0)
    {
        printf("第一个数为0,降序排列\n"); 
        for(i=0; i<x-1; i++)
        {
            for(j=0; j<x-i-1; j++)
            {
                if(a[j]<a[j+1])
                {
                    t=a[j];
                    a[j]=a[j+1];
                    a[j+1]=t;
                }

            }
        }
    }
    else if(a[0]==1)
    {
        printf("第一个数为1,第2至11个数升序排列\n"); 
        for(i=0; i<x-1-1; i++)
        {
            for(j=1; j<x-i-1; j++)
            {
                if(a[j]>a[j+1])
                {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
                }
                
            }
        }
    }
    for(j=0; j<x; j++)
        printf("%d ",a[j]);
    return 0;
}