首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解决未修正的序列(4,3,2,1,5),并根据我的建议将其改为校正序列。

解决未修正的序列(4,3,2,1,5),并根据我的建议将其改为校正序列。
EN

Stack Overflow用户
提问于 2018-06-17 22:42:19
回答 1查看 84关注 0票数 0

我试图解决这个问题,并建议我安排升级换代,使一个正确的序列从小数上升到高。

所以我用c++编写了这个代码:-

代码语言:javascript
复制
include<iostream.h>
int main()
  {
   int ar[5] = {4,3,2,1,5};
      int d;
        for (int i=0; i<=4; i++)
        cout<<ar[i]<<" ";
        cout<<endl;
       for (int x=0; x<=4; x++)
            {
          for(int y=x+1; y<=4; y++)
             if(ar[x] > ar[y])
           {
              d=ar[x];
           ar[x]=ar[y];
          ar[y]=d;

           for ( d=0; d<=4; d++)
            {
         cout<<ar[d]<<" ";
                 }
             return 0;
           }
         }
        }

我得到了这个输出

代码语言:javascript
复制
 Output
   4 3 2 1 5
   3 4 2 1 5 

这是我第一次和cplus在一起,所以我的条件有什么问题?

问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-17 23:12:48

该算法是正确的。你把牙套弄乱了。

代码语言:javascript
复制
#include <iostream>

using std::cout;
using std::cin;
using std::endl;

int main()
{
    int ar[5] = {4,3,2,1,5};
    int d;
    for (int i=0; i<=4; i++)
        cout<<ar[i]<<" ";
    cout<<endl;
    for (int x=0; x<=4; x++)
    {
        for(int y=x+1; y<=4; y++)
            if(ar[x] > ar[y])
            {
                d=ar[x];
                ar[x]=ar[y];
                ar[y]=d;
            }

    }
    for ( d=0; d<=4; d++)
    {
        cout<<ar[d]<<" ";
    }
    return 0;
}

正确使用表格,以便更容易阅读和发现此类错误。

如果您的任务没有限制,请记住C++内置算法(例如,std:分类)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50901046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档