2 solutions

  • 0
    @ 2025-2-5 11:36:30
    #include <iostream>
    using namespace std;    
    int a[105];
    int main(){
        int n;
        cin>>n;
    
        for(int i=1;i<=n;i++){
            cin>>a[i];
        }
        for(int i=n;i>=1;i--){
            cout<<a[i]<<" ";
        }
        return 0;
    }
    

    对于一版来说,我发现了我代码的小毛病。

    数组里面的数不用全填为0(什么也不用填)。

    for循环里面的i从下标为n开始,一直到1,每一轮都要减1。

    输出时不用判断该数是否为0,可直接输出。

    (二版) 若还有错误,请指出。

    wzx0702 感谢他告诉我代码的错误

    QWQ

    image

    • 0
      @ 2025-2-4 12:37:44
      #include <iostream>
      using namespace std;    
      int a[105]={0};
      int main(){
          int n;
          cin>>n;
      
          for(int i=1;i<=n;i++){
              cin>>a[i];
          }
          for(int i=105;i>=1;i--){
              if(a[i]!=0){
                  cout<<a[i]<<" ";
              }
          }
          return 0;
      }
      

      (:看还没有人发题解,那我就先发了。:)

      先定义一个数组,将数组里的数全设为0(后面有大用),循环输入,接下来输出,输出时要注意,你的数组开了多大的,你就要让i的下标从几开始, i要大于等于1,i每一轮需要-1。循环内部的判断就是判断这个数是不是非0数:如果是0,不输出;如果不是0,就输出。

      详不详细QWQ。

      如有错误,欢迎指出。 (一版)

      • 1

      Information

      ID
      727
      Time
      1000ms
      Memory
      256MiB
      Difficulty
      7
      Tags
      (None)
      # Submissions
      72
      Accepted
      19
      Uploaded By