【发布时间】:2017-10-06 20:59:07
【问题描述】:
void f3(string x){
for (int i=0; i < x.length(); i++){
if ('A'<=x[i] && 'z'>=x[i]){
cout << "English Alphabet" << endl;
}
else {
cout << "NOT English Alphabet" << endl;
break;
}
}
}
如何只得到一个结果(cout)?像“英文字母”而不是“abcd”的4次。
例子:
给我一个字符串:
abcd
英文字母
英文字母
英语 字母
英文字母
或
给我一个字符串:
abc!
英文字母
英文字母
英语 字母
不是英文字母
如果我输入空格,程序将无法运行。 我该如何解决? 感谢您的帮助!
【问题讨论】:
-
你试过用调试器单步调试代码吗^
-
取决于您的需要。您可以使用
bool标志来标记您是否遇到了一些 非英文字母 字符,并且根据其状态,您可以打印 "English Alphabet" 或 “非英文字母” -
如果算法库不被允许,将循环移到它自己的函数中,一旦发现非英文就返回false。如果您到达循环的末尾,则返回 true。
-
@Borgleader 这有多酷?
<algorithm>满满当当。