不论怎样的问题,有一点思路,就要去尝试,写错了不要紧,不要怕。
gets函数不可使用
接收一段字符串时(其中可能含有空格),其中getline属于string流,接收一个字符串,遇到‘\n’结束。
简单使用方法如下:
#include <iostream>
#include <string>
using namespace std;
int main(){
string str;
getline(cin, str);
cout << str;
}
string 类型基本使用方法见 B1042 字符统计
strcmp函数
strcmp函数是string.h 头文件下用来比较char型数组的字典序大小的,其中当strcmp(str1, str2) 当str1 的字典序小于 str2 时返回一个负数,等于时返回 0, 当str1 大于 str2 时返回一个正数。平时常用的 return strcmp(a.id, b.id) < 0 意为a.id 的字典序列小于 b.id.
ASCII 码对照
- ‘0’ —— 48
- ‘A’ —— 65
- ‘a’ —— 97
字符串与 int 之间的转换
- char 小写字母转为ASCII码对应int 数字:str[i] - 'a'
- int 型数字转换为char 型对应字符: 'a' + k
while...EOF 型
scanf函数的返回值为其成功读入参数的个数。对于正常控制台中的输入一般不会失败,只有在读取文件时,到达文件末尾导致无法读取现象,才会产生读入失败。这是,scanf函数会返回-1,而不是0,使用EOF(End of File)来表示 -1。即就是说,当题目没有说明有多少数据需要读入时,就可以利用scanf函数的返回值是否为EOF来判断输入是否结束。