解题思路:

输入,排序,计算,输出



这里用到了sort和memset

sort用于排序,加头文件algorithm

没有compare的时候,默认的是从小到大,不需要写第三个参数

memset用于给数组初始化,加头文件string.h


注意事项:
怎样把输入的数据存储到数组中

参考代码:

#include <iostream>
#include <algorithm>
#include <string.h> 
using namespace std;
bool compare (int a,int b)
{return a>b;}
int main(int argc, char *argv[])
{
int t;cin>>t;//t为组数
int n[t],x[t];//数组n用于存每组数中有多少对数 ,x用于存每组的计算值 
memset(x,0,sizeof(x));//对数组x初始化 
for(int i=0;i<t;i++){
cin>>n[i];
int a[n[i]],b[n[i]];
for(int j=0;j<n[i];j++){
cin>>a[j];}
 for(int k=0;k<n[i];k++){
cin>>b[k];}
sort(a,a+n[i]);//从小到大排序 
sort(b,b+n[i],compare);//从大到小排序 
for(int m=0;m<n[i];m++){
x[i]+=a[m]*b[m];}
}
for(int i=0;i<t;i++)
{
cout<<x[i]<<"\n";
} 
return 0;
}

个人觉得自己的空间占用很少,基本上都被释放掉了,特别是数组a和数组b

点赞(2)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 2 条评论

c晨光 6年前 回复TA
@夏洛克 不是教过你吗,,,话说怎么回事啊,,,你是不是把我文章都看了,,,有毒
夏洛克 6年前 回复TA
还能往sort里面加compare,还是自定义的compare,函数名竟然能放那个位置!  这波操作很强