关于输出n个数并将其排序后yici

img


不太懂,那个第二行输出n个数并排序不会,求大佬解答

1、输入N个数可以使用for循环N次并使用cin接收int输入来实现

for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }

2、排序可以选择最简单的冒泡排序

for(int i=0;i<n-1;i++)      //冒泡排序(O(n^2))
        for(int j=0;j<n-1;j++)
        {
            if(a[j]<a[j+1])
            {
                b=a[j];
                a[j]=a[j+1];
                a[j+1]=b;
            }
        }

附 完整代码

#include <iostream>
#include <cstdio>
#include<stdint.h>
using namespace std;
int main()
{
    int n;
    cout<<"请输入数组的大小:";
    cin>>n;
    int* a=new int[n];
    cout<<"你需要输入"<<n<<"个数,并使用空格或者回车隔开:"<<endl;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    int paixu(int a[],int n);
    cout<<"A价值:"<<paixu(a,n);
    delete[] a;
    return 0;
}
int paixu(int a[],int n)
{
    int b;
    for(int i=0;i<n-1;i++)      //冒泡排序(O(n^2))
        for(int j=0;j<n-1;j++)
        {
            if(a[j]<a[j+1])
            {
                b=a[j];
                a[j]=a[j+1];
                a[j+1]=b;
            }
        }
    int total=0;
    for(int i=0;i<n;i++)
    {
        //cout<<a[i]<<" ";
        total+=a[i]*(i+1);
    }
    return total;
}