字符串处理:
有坑点:
(1):正负号处理
(2):注意赋值情况
可以补充的知识点:
字符串的基本函数:字符串转换:两种方式:stoi
#include <iostream>
#include <math.h>
using namespace std;
int main(){
string res;
int a,b,sum,cnt=0;//设置一个变量cnt去打逗号
cin>>a>>b;
sum=a+b;
int sum_copy=sum;
while(true){
res.push_back(abs(sum%10)+'0');
sum/=10;
if(sum==0) break;
cnt++;
if(cnt%3==0){
res.push_back(',');
}
}
if(sum_copy<0){
res.push_back('-');
}
for(int i=res.size()-1;i>=0;i--){
putchar(res[i]);//字符输出
}
return 0;
}
int sum_copy=sum;//这一行代码比如要有,其实这个是为了避免重复
用字符出函数去做的模拟:to_string(XX);
#include <iostream>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
int c=a+b;
string num=to_string(c);//这个函数可以转换,整数和浮点数都是可以的
string res;
//从后往前数,没三位就多一个逗号
for(int i=num.size()-1,cnt=0;i>=0;i--){
res=num[i]+res;
++cnt;
if(cnt%3==0&&i&&num[i-1]!='-') res=','+res;
}
cout<<res;
}
讲一讲to_string();
这是输入string的一个函数,还是很有用的。参考上面算法解法1:
res.push_back(abs(sum%10)+'0');
abs(sum%10)+'0' //这里就是将数字转成了字符串放入了向量中
但是第二个,直接就用了to_string()方法。
高位的索引是0,其实和数组一样的。
等我把pat的题解大部分写完,我会根据一些题目给出一些知识点,并且对应的题目。其实这里我想讲一讲to_stirng(),stoi(),这些函数的用法。留一个空吧,一定找一个机会补上去。