一些小技巧
把字符串转换为数字的方法
代码如下
Suma=0;
for (i = 0; i < strlen(a); i++) {
if (a[i] >= '0' && a[i] <= '9')
suma = suma * 10 + (a[i] - '0');
}
最后一行不要空格的问题
我以前一直都是再写一个if else
现在学到了,可以吧空格的输出放在前面.
下面是一个栗子
for (int i = 0; i < 54; i++) {
if (i != 0) printf(" ");
//通过关系,使用一个表达式就搞定了输出问题
printf("%c%d", mp[a[i] / 13], a[i] % 13 + 1);
}
C++ getline(cin,str)遇到的一个问题
① getline(cin,str)的读取原理是将以‘\n’ 为结束符完整读取的一行,’\n’回车,所以当之前用cin读取一个字符串的时候,你会输入一个字符串,然后回车,那么getline(cin,str)读的时候灰度入这个回车,并判断结束了。
② 解决的办法是在getline前面加一个函数cin.ignore()就会忽略那个回车