C10-4.26sting与char
原题链接:37014.笔记汇总2025-04-26 17:28:58
发布于:江苏
一、字符与字符串
单引号、双引号表示的区别?
// 字符
char ch = 'abc'; //单个字符
cout << ch <<endl;
// 字符串
string s = "abccd"; //双引号括起来的内容 泛型数据类型 来自stl
cout << s << endl;
cout << s.size() << endl;
cout << s.length() << endl;
二、ASCII码
ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统。
无论如何都要记住的三个ASCII码值
'0': 48
'a': 97
'A': 65
char ch = 'a';
cout << (int)ch << endl; //97
for (int i=65; i<=90; i++){
cout << (char)i << "";
printf("%c ", i+32); //char类型的占位符
}
char ch = '9'; //(48)->0
cout << ch - '0' << endl;
cout << ch - 48 << endl;
所有的字符串都是以'\0'结尾的。
ps: ascii码为0的就是啥也没有。
三、string表示的字符串
字符串的遍历
#include <iostream>
using namespace std;
int main(){
string s;
cin >> s;
cout << s << endl;
//遍历字符串: 跟数组一样,遍历的下标一定是从0开始
//cout << s[i] << endl;
for (int i=0; i<s.size(); i++){
cout << s[i] <<endl;
}
cout << s;
return 0;
}
实例1: A5700.替换字母
输入一个字符串(不含空格),将字符串中的字母 t 都换成字母 w,并这个字符串输出。字符串长度不超过 100。
#include <iostream>
using namespace std;
char s[1005];
int main(){
cin >> s;
// 所有的字符串都是以'\0'结尾的。
for (int i=0; s[i]!='\0'; i++)
{
if(s[i] == 't') s[i] = 'w';
}
cout << s;
return 0;
}
#include <iostream>
#include <cstring>
using namespace std;
char s[1005];
int main(){
cin >> s;
int len = strlen(s); //计算字符串的实际长度
for (int i=0; i<len; i++)
{
if(s[i] == 't') s[i] = 'w';
}
cout << s;
return 0;
}
实例2:A23114.大小写互换
大小写之间的差值为32
cout << char(c-32);//小写转大写 -32
cout << char(c+32);//大写转小写 +32
输入一个字符串(不含空格,字符个数不超过 10000),将字符串中的大写字母转成小写字母,将字符串中的小写字母转成大写字母,并且将字符串输出。
#include <bits/stdc++.h>
using namespace std;
char s[10005];
int main(){
cin>>s;
for(int i=0;s[i]!='\0';i++){
if(s[i]>='A'&&s[i]<='Z'){
s[i]+=32;
}
else if(s[i]>='a'&&s[i]<='z'){
s[i]-=32;
}
}
cout<<s;
return 0;
}
实例3:A31059.【字符串】【入门】简单密码
Julius Caesar曾经使用过一种很简单的密码。对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文。比如字符A用F来代替。给出密文,输出明文,长度不超多200。
#include <iostream>
#include <cstring>
using namespace std;
string s;
int main(){
cin >> s;
int len = s.size();
for(int i=0; i<len; i++){
if ('A'<=s[i] && s[i]<='E')
s[i] = s[i] - 5 + 26;
else if ('F'<=s[i] &&s[i]<='Z')
s[i] -= 5;
}
cout << s;
return 0;
}
这里空空如也
有帮助,赞一个