题目链接:https://pintia.cn/problem-sets/17/problems/263
思路:
1、处理输入输出字符,将输入保存至数组中
2、求double后的数组
3、两个数组排序后,逐位比较
错点:
1、输出的数组被排序过了,不是double后的数组
2、感觉代码有点长,怎么优化?
3、long类型数量级在19位左右,因此处理不了长度为20的数字
C++代码:
#include<iostream>
#include<sstream>
#include<string>
using namespace std;
void sort(int (&nums)[20], int length){
bool flag;
int temp;
for(int i=0; i<length-1; ++i){
flag = false;
for(int j=length-1; j>i; --j){
if (nums[j-1]>nums[j]){
temp = nums[j];
nums[j] = nums[j-1];
nums[j-1] = temp;
flag = true;
}
}
if (!flag) return;
}
}
int main(){
string s1;
cin>>s1;
int s1_int[20], s2_int[20], s3_int[20];
int c = 0;
for(int i=s1.length()-1; i>=0; --i){
stringstream ss;