《算法笔记》codeup_100000580_E

思路:

获取字符串和字符,遍历字符串,当遍历到的元素和字符不相当时输出。

解答:

#include 
#include 
#include 
#include 
using namespace std;

int main() {
    char str[1000];
    while(gets(str)) {
	char c;	

	c = getchar();  // scanf("%c",&c); 亦可
        getchar();      // 吸收getchar或scanf后面的换行符
        
        //cout << "------str = " << '"' << str << '"' << endl;
        //cout << "------c = " << c << endl;
        
        for(int i = 0; str[i] != '\0'; i++) {
            if(str[i] != c)
                printf("%c", str[i]);
        }
        cout << endl;
    }
    return 0;
}

笔记:

Q:为什么不能只用 c = getchar(); 或 scanf("%c",&c); 获取字符串?

A:因为gets会吸收字符串换行符,但getchar和scanf都不会,如果不增加一个getchar()吸收换行符,第二轮的gets获得的就是输入第一个字符后的换行,后面的输入也就都错了。

你可能感兴趣的:(codeup)