程序训练6 相关提示
基础知识提示
1. 循环输入问题
请看这段代码:
char ch;
while(true){
cin >> ch;
if(ch == '=') break;
if(ch == ' ') continue;
cout << ch;
}
cout << endl;
想一想会发生什么呢?
如果对break这些语法不太清楚可以上网自行查阅。
2. 字符的存储本质
字符都是可以用ascii码表示的,字符之间可以做加减法。
cout << (char)('a' + 1) << endl;
这会输出什么呢?
(char)的意思是类型转换,将’a’+1的计算结果从int转换成char
计算过程:
- 将’a’转换成int(参照ascii码值)
- 完成相加计算得到整数结果
- 转换回char类型
解题提示
A. Sum of Numbers
- char 类型的 ‘9’-‘0’ 等于多少呢?如何实现数字字符到数字的快速转换呢?
- 如何比较两个string是否相等?如何比较两个char数组内容是否相等(可能需要查阅一些函数)?
B. Counting Characters
https://blog.csdn.net/Victayria/article/details/127115939?spm=1001.2014.3001.5501
C. Ring
- 如何获取输入的string的长度
- 题目理解很关键:注意标题 ring
D. Finding a Word
- 如何用空格将一句话分割开?或许不用真的分割开,只需要两个下标就能表示一个单词的头尾?如何让第二个下标在没有发现空格的时候就保持一直++,直到发现空格,那么第一个下标和第二个下标形成的左闭右开区间就是一个单词
- 自行查阅string类型获取子串的函数