
C++字符串入门,看这一篇就足够了
首先向大家说句抱歉,我已经一个月没更新文章了
OK,那咱们直接进入正题,谈谈字符串那些事儿
一、字符串介绍与特征字符串简单说就是能够存储字符的数组,用法很多,我们来谈几个
重点:字符串总是以为结尾,不管是什么类型的字符串都是这样char
在C++中,字符串分为两种类型:string和char
他们的不同点很多,例如:
输入输出
cin 类型输入方式:直接#
includeusing
namespace ; stdint
main ( )char
{
; ch;
cin>>chreturn
0 ;}
#
但是,这样写程序只会输入一个数,咱们写一个输出试试
includeusing
namespace ; stdint
main ( )char
{
; a;
cin>>a<<
cout;areturn
0 ;}
a
运行结果:
好,问题来了,怎样才能完整的输出呢
只要把亿点设大#就可以了
includeusing
namespace ; stdint
main ( )char
{
[ a1000000];;
cin>>a<<
cout;areturn
0 ;}
#
运行结果:
你也许会发现,字符串其实是数组!
当然,也可以指定输出哪一位
includeusing
namespace ; stdint
main ( )char
{
[ a1000000];;
cin>>a<<
cout[a1];//输出第2位 return
0 ;}
string
对比char,string真的是太逊啦
cin的输入输出
输入方式:直接cout
输出方式:直接char
乍一看,好像跟string没什么不同的
BUT,看看这个示例程序,你就知道#好在哪里了
includeusing
namespace ; stdint
main ( );
{
string a;
cin>>a<<
cout;areturn
0 ;}
string
运行结果:
我们发现:char类型允许用户输入很长的字符串,而string类型却做不到这一点,这也是为什么大家都喜欢用char-----方便!
string和char都有求长度函数
1、#类型求长度
includeusing
namespace ; stdint
main ( )char
{
[ a1000];;
cin>>a<<
coutstrlen()a;//strlen函数返回字符串的长度 return
0 ;}
#
运行结果:
当然,还有一个厉害的方法求长度…
includeusing
namespace ; stdint
main ( )char
{
[ s1000];int
= len0;;
cin>>sfor
(int= i0;[s]i!=';'++)i++; {
len}<<
;
coutreturnlen0
; }string
#
这个程序的原理是利用字符串的结尾为include,循环求长度
2、using类型求长度
namespace;
int main std(
) ; ;int
{
string b=
cin>>b.
size len2(b);int=.
length len3(b);<<<<" "
cout<<len2;return0len3;
} string.size()
.length()
32类型求长度有两个函数:# 和 include
运行结果:
规律:每一个大写字母与相应的小写字母相差using
1、洛谷P5733
AC代码:
namespace;
int main std(
) ; ;for
{
string ch(
cin>>chint
=0; i<.lengthi(ch);++)ifi([ {
]'a'ch&&i[>=] <= ch'z'i)[]-= ch32i;//是小写字母,就转换}<< ;
return
cout0ch;
} #include
using
2、洛谷P1914
AC代码:
namespace;
int main std(
) ; int;
{
string ch;
for n(
cin>>n>>chint
=0; i<.lengthi(ch);++)ifi([ {
]+ch'z'i)[n>]= ch[i]+ch-i26;nelse[]
= ch[i]+ch;i}<<n;
return
cout0ch;
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)