作业介绍

学习字符串

string

基本用法

  • 定义:string s
  • 赋值:s = "hello"
  • 可以理解为是一个 char 类型的数组。
  • 输入输出比较方便:cin >> s, cout << s
  • 获取字符串长度的函数:s.size(), s.length()
  • 字符串自带加法运算:字符串和字符串加,字符串和字符加。
string s = "hello";
string t = "world";
cout << s + t; // helloworld
string s = "hello";
char t = 'w';
cout << s + t; // hellow

遍历字符串

  • 通过下标来完成遍历

下标从 00 开始,到 s.size() - 1

string s;
cin >> s;
int n = s.size();
for (int i = 0; i < n; i++)
{
    cout << s[i];
}

常见应用

  • 给定一个字符串,将其进行大小写转化。

每一个 s[i] 都是 char

做法:

遍历字符串,对每一个 s[i] 判定,如果是大写就变小写,否则变大写。利用 ASCII 码判断。A = 65a = 970 = 48

for (int i = 0; i < s.size(); i++)
{
    if (s[i] >= 65 && s[i] <= 90) // s[i] >= 'A' && s[i] <= 'Z'
    {
        s[i] += 32;
    }
    else if (s[i] >= 97 && s[i] <= 122)// s[i] >= 'a' && s[i] <= 'z'
    {
        s[i] -= 32;
    }
}
  • 不同的字符串之间支持比较。

支持 >, >=, <=, <, !=, == 这几个运算符。

s = "hello", t = "world"

比较规则:

两个字符串,不论长度,统一靠左对齐,然后一一比较,若 ASCII 码不相同,则 ASCII 码大的字符串大,否则看向下一位。

举例:helabcdhel

abcdabdabd

abcdabcabcd 大。

string s, t;
cin >> s >> t;
if (s > t)
{
    s 大
}
else if (s < t)
{
    t 大
}
else 
{
    相等
}

题目

认领作业后才可以查看作业内容。
状态
正在进行…
题目
6
开始时间
2024-1-26 0:00
截止时间
2034-1-26 23:59
可延期
24 小时