|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
假如我要cin一个字符串s,
他的长度是我cin的n,
s中只包含字符‘Y'或者’N‘,
如果不对就会重新返回cin>>s,直到成功。
- string s;
- int n;
- cin >> n;
- while (ture)
- {
- cin >> s;
- while ((s.size() != n))
- {
- cin >> s;
- }
- for (int i = 0; i < n; ++i)
- {
- if (s[i] != 'Y' || s[i] != 'N')
- {
- break;
- }
- }
- }
复制代码
这是我自己写的,感觉太丑陋了,
有没有简单的代码,求大神帮忙
你的错误太多了
1,true 拼错了
2,逻辑运算符也错了(应该是 &&)
3,你没有加跳出循环的条件
我这里加了一个 bool 变量
- #include<bits/stdc++.h>
- using namespace std;
- int main()
- {
- string s;
- int n;
- cin >> n;
- while(true)
- {
- cin >> s;
- while ((s.size() != n))
- {
- cin >> s;
- }
-
- bool b = true;
- for (int i = 0; i < n; ++i)
- {
- if (s[i] != 'Y' && s[i] != 'N')
- {
- b = false;
- break;
- }
- }
- if(b == true)
- {
- break;
- }
- }
- }
复制代码
|
|