繁体   English   中英

C++按升序排序数组打印

[英]C++ sorting an array in ascending order Printing

我试图按升序对数组进行排序并将其打印出来,但我在将 cout 放在代码中的位置时遇到了麻烦。

for (int k=0; k<ARRAY_SIZE; k++) {
    for (int l=1; l<ARRAY_SIZE-1; l++) {
        if(numbers[l] > numbers[k]) {
            temp = numbers[k];
            numbers[k] = numbers[l];
            numbers[l] = temp;
        }
        cout<<numbers[k];
    }    
}

删除实际cout并将其放在排序循环之后,在一个新循环中

for(int k = 0 ; k < ARRAY_SIZE; ++k)
    cout << numbers[k] << " ";

如果要查看排序结果,则必须在新的 for 循环中打印数组

这是一个查找数字n的长度并将其转换为数组arr并按升序对该数组进行排序的程序。 (possible aptitude question)

#include <iostream>
using namespace std;
int main()
{
    int n,i=0,j,num,temp,len=0,arr[10]={0};
    cin>>n;
    num=n;
while(n!=0)
    {
        len++;
        n/=10;
    }
    cout<<len<<endl;
    for ( i = len; i >= 0; i--)
        {
            arr[i] = num%10;
            num/=10;
    }
for(i=1;i<=len;i++)
    for(j=0;j<=len-i;j++)
{
    if(arr[j]>arr[j+1])
    {
        temp=arr[j];
        arr[j]=arr[j+1];
        arr[j+1]=temp;
    }
}
for(i=1;i<=len;i++)
{
    cout<<arr[i]<<endl;
}
return 0;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM