输入n个整数存入一维数组中,并对这n个数由大到小排序,最后输出。

大家好,这个代码我不知道问题出在哪儿了?可以运行,就是提交时过不去,麻烦请帮我看一下,谢谢!

输入一个小于100的正整数n,然后输入n个整数存入一维数组中,对这n个数进行由大到小的排序,最后输出排序后的这n个数,每个数占6列。例如输入
5
6 7 1 9 2
则应输出
     9     7     6     2     1
注意:语言选DEV  C++。
#include"stdio.h"
#include"stdlib.h"
main()
{
int n,i,j,t;
long int x[100];
scanf("%d",&n);
scanf("%d",&x[i]);
for(i=0;i-1;i++)
scanf("%d",&n);
    for(j=0;j-1-i;j++)
    if(x[i-1]-1];x[i-1]=x[i];x[i]=t;}
printf("%6d",x[i]);    
}

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/1101900
  • 这篇博客也不错, 你可以看下输入n个数,再输入n个整数,并且由大到小排列
  • 除此之外, 这篇博客: 给你n个整数,求他们中所有奇数的乘积。中的 输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,然后是n个整数,你可以假设每组数据必定至少存在一个奇数。输出每组数中的所有奇数的乘积,对于测试实例,输出一行。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • include<stdio.h>
    int main()
    {
     int n,m,s=1,i;
     while(scanf("%d",&n)!=EOF)//多次输入第一个数
     {
      for(i=0;i<n;i++)//循环输入多个数字
      {
       scanf("%d",&m);
       if(m%2!=0)//判断是否为奇数
       {
        s=$s*m$;//所有奇数相乘
       }
      }
      printf("%d\n",s);
      s=1;
     }
     return 0;
    }