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;
}