浅发个题解霸
2024-02-25 19:25:41
发布于:辽宁
20阅读
0回复
0点赞
题目很好理解,就不过多赘述了,简单总结一下:男生小到大,女生大到小,就这么简单
我的思路就是分开排序,然后同意输出
不会有人真的写了冒泡吧(玩笑
首先,定义数组方便存储,这里我觉得不用再定义一个数组来存原先的输入,我们可以直接进行判断
x > 0 ,即为男生,我们直接把它扔到a数组
x < 0 ,即为女生,我们就直接把它扔到b数组
定义 q , p 来表示每个数组个数
然后进行排序,sort最好,因为我不想打代码这样可以节省代码量
代码 自己写! 就在最后啦!
#include <bits/stdc++.h>
using namespace std;
int cmp1(int a,int b){
return a < b;
}
int main(){
int n;
cin >> n;
int a[105],b[105],q=0,p=0;
int g=0;
for(int i=0;i<n;i++){
int x;
cin >> x;
if(x > 0){
a[q] = x;
q ++;
}
if(x < 0){
b[p] = x;
p ++;
}
}
sort(a,a+q,cmp1);
sort(b,b+p,cmp1);
for(int i=0;i<q;i++){
cout << a[i] << " ";
}
for(int i=0;i<p;i++){
cout << b[i] << " ";
}
return 0; // 养成好习惯
}
最后我想对亲爱的AC狗说一下,这题根本就是入门级好吗,建议改一下
全部评论 1
顶
2024-02-25 来自 辽宁
0
有帮助,赞一个