目录
字符数组及字符串的部分函数使用
1、 char数组变成string
假设我们现在有一个char数组:char [10010] ch;
- 定义string时候 : string str(ch);
2、string读取到char数组里面
int nuts = 100;
char nnums[10010];
strcpy(nnums, to_string(nums).c_str());
这里用到了strcpy函数,需要头文件cstring,还有to_string(nums)函数,作用是把数字变成字符串,最后是str.c_str()函数,可以把string分解为char []类型
3、字符串与数字相互转换
- 字符串变数字:int nums = stoi(str);
- 数字变字符串: string str = to_string(nums);
4、字符串反转
假设我们现在有一个字符串str
反转代码实现如下:
reverse(str.begin(),str.end());
5、char数组的长度计算
假设我们有一个char ch[10] = {'d','y','x'};
长度计算:int len = strlen(ch);
6、例题
7、例题代码
#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
using namespace std;
int main()
{
char nums[10010];
cin >> nums;
sort(nums, nums + strlen(nums));
string temp2(nums);
string temp1 = temp2;
reverse(temp1.begin(), temp1.end());
if (temp2 == temp1)
{
cout << temp2 << '-' << temp1 << "=0000" << endl;
return 0;
}
int yi = stoi(temp1);
int er = stoi(temp2);
int ans = yi - er;
cout << yi << '-' << er << '=' << ans << endl;
while (ans != 6174)
{
char nnums[10010];
strcpy(nnums, to_string(ans).c_str());
sort(nnums, nnums + strlen(nnums));
string temp4(nnums);
string temp3 = temp4;
reverse(temp3.begin(), temp3.end());
int yii = stoi(temp3);
int err = stoi(temp4);
ans = yii - err;
cout << yii << '-' << err << '=' << ans << endl;
}
return 0;
}
注意,为了体现出每种函数的使用作用,这个代码并没有进行优化,但是可以使用。