不带数组对输出数字排序

时间:2018-11-05 20:35:54

标签: c++ sorting

因此,主要任务是找到所有0到100之间可被7整除的数字,然后不使用数组按降序对其进行排序。我刚开始使用c ++,这是我的第一个实验任务之一,但是当我完成它时,被告知我不应该使用数组。我现在很好奇否则该怎么做。这里的代码只能找到被7整除的数字,并自然地以升序显示它们。

我不确定如何将它们排序而不将值存储在数组中,然后更改以这种方式切换值。

#include <iostream>

using namespace std;

int main() {

for( int i = 0; i <= 100; i++){

    if(i%7 == 0){

        //Display every integer divisible by 7
        cout << i << endl;

    }

}


return 0;

}

5 个答案:

答案 0 :(得分:2)

一种方法是找到可被7整除的最大数字(此处为98),然后继续将其除以7,直到越过最低边界为止。

答案 1 :(得分:1)

只需反转for循环:

for( int i = 100; i >= 7; i--){ //There is no integer lower than 7 that is divisible by 7
    if(i%7 == 0){
        cout << i << endl;

    }    
}

答案 2 :(得分:0)

将循环更改为降序;这样您就无需进行任何排序。

答案 3 :(得分:0)

您可以做的是最大的 start 并从那里下来。如下:

  for(int i = 100; i >= 0; i--){
    if(i % 7 == 0){
        cout << i << endl;
    }
  }

答案 4 :(得分:0)

像它的2020年一样..(您将获得很好的成绩;-))

#include <iostream>
using namespace std;
int main() {
    int i=101;
    while(--i)i%7?cout:cout<<i<<endl;
}