可以帮我看一下思路吗?为什么代码会运行不出来?

#include

int main()
{
int i,j,a[10],t,m,n;
printf("请输入10个整数:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
{
for(j=9;j>0;j--)
{
if(i
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(m=0;m<10;m++)
{
for(n=m+1;n<10;n++)
{
if(a[m]
t=a[m];
a[m]=a[n];
a[n]=t;
}
}
for(i=0;i<10;i++)
printf("排序后%d",a[i]);
return 0;
}
将10个整数输入到一个数组,然后再将其按输入顺序逆序进行排列并输出?这是问题,我理解的应该是这个样子的,就是先逆序再排序


#include <stdio.h>

int main()
{
    int i, j, a[10], t, m, n;
    printf("请输入10个整数:");
    for (i = 0; i < 10; i++)
        scanf("%d", &a[i]);
    printf("输入的数据为:");
    for (i = 0; i < 10; i++)
        printf("%d ", a[i]);
     printf("\n");
    printf("逆序的数据为:");
    for (i = 0; i < 10; i++)
        printf("%d ", a[9 - i]);
    printf("\n");
    return 0;
}

你是不是想复杂了

(修改了一下)应该是因为代码逻辑有点问题, 依据题目的描述,我的理解是,应该就是将输入的10个数,逆序,然后打印即可,不需要排序,修改如下:

#include <stdio.h>

int main()
{
    int i,j,a[10],t,m,n;
    printf("请输入10个整数:");
    for(i=0;i<10;i++)
        scanf("%d",&a[i]);
        
    for(i=0;i<5;i++)
    {
        
        t=a[i];
        a[i]=a[9-i];
        a[9-i]=t;
        
        
    }
    

    
    for(i=0;i<10;i++)
        printf("%d ",a[i]);
    return 0;
}



img