写代码时,自己碰到的坑

一些小技巧

把字符串转换为数字的方法

代码如下

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()就会忽略那个回车

猜你喜欢

转载自www.cnblogs.com/a-small-Trainee/p/12421130.html