0
已解决
李瑞曦
高级天翼
高级天翼
嘤嘤嘤,50分代码如下:
#include<iostream>
#include<string>
using namespace std;
string a;
int main(){
cin>>a;
if(a[0]>='A'&&a[0]<='Z'){
bool f=0;
for(int i=0;i<=a.size()-1;i++){
if((a[i]>='A'&&a[i]<='Z')||(a[i]>='0'&&a[i]<='9')||(a[i]>='a'&&a[i]<='z')||a[i]=='_'){
f=1;
}
}
if(f==0){
cout<<"No";
}
else{
cout<<"Yes";
}
return 0;
}
else {
cout<<"No";
}
}
0
已采纳
王子逸
新手天翼
新手天翼
你的有一点小问题
getline输入
把cin>>a;改成getline(cin,a);
王子逸在2020-08-03 11:11:36追加了内容
在结合其他人的AC哦
王子逸在2020-08-03 11:12:57追加了内容
定义s;
getline(cin,s);
for(int i=0;i<s.size();i++){
if(!((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')||(s[i]>='0'&&s[i]<='9')||s[i]=='_')){
cout<<"No";
return 0;
}
}
if(s[0]>='0'&&s[0]<='9'){
cout<<"No";
}
else{
if((s[0]>='A'&&s[0]<='Z')||s[0]=='_')
cout<<"Yes";
else
cout<<"No";
}
王子逸在2020-08-03 11:13:34追加了内容
头文件自己想
1
赵逸凡
初级启示者
初级启示者
这里不对,不能遇到一个字符满足条件就认为整个字符串合法,应该是判断如果任意一个字符不满足题目条件就标记f=1,f=1应该表示这个字符串不合法,因为f=1的意义变了,所以后面的判断也要改变
1
邵悦媛
新手光能
新手光能
https://wenda.codingtang.com/questions/8885/
还有:
if不对,可以把f+1改成f+=1,最后判断一下f是不是等于a.size(),如果不等于,输出No,如果等于,输出Yes,
核心:
for(定义 i;循环遍历0~a.size){
if(a[i]符合所有条件)
f+=1;
}
if(f==a.size)
cout<<"Yes";
else
cout<<"No";