水题,但是使我产生了一些想法,做了一下实验:
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
int main() {
string s1, s2, s3;
s1 = '2';
s2 = '8';
s3 = s1 + s2;
cout << s3 << endl;
cout << "-------------------" << endl;
int a, b;
string s6;
a= 2;
b= 8;
s6 = (a+'0') + (b+'0');
cout << s6 << endl;
cout << "-------------------" << endl;
cout<<'2'+'8'<<endl;
cout << "-------------------" << endl;
string k='2'+'8';//产生错误
cout<<k;
return 0;
}
删除最后一个而产生的结果;
注意:
以后将两个东西连接还是使用字符串为好,否则用char可能输出ascll码。
我的代码
#include<iostream>
#include<vector>
#include<string>
using namespace std;
int main(){
int n;
cin>>n;
int a[n+5];
vector<string> v;
for(int i=0;i<n;i++) cin>>a[i];
string s;
for(int i=0;i<n-1;i++){
for(int j=i+1;j<n;j++){
s+=to_string(a[i])+to_string(a[j]);
v.push_back(s);
s.clear();
}
}
for(int i=n-1;i>=1;i--){
for(int j=i-1;j>=0;j--){
s+=to_string(a[i])+to_string(a[j]);
v.push_back(s);
s.clear();
}
}
int sum=0;
for(auto it=v.begin();it!=v.end();it++) sum+=stoi(*it);
cout<<sum;
return 0;
}