0
已解决
周琪岳
资深光能
资深光能
https://judge.codingtang.com/problem/1088/
1088 合法文件名
题目描述 Description
给定一个文件名字符串,判断是否为合法文件名。
合法文件名有如下规定:
1、只由数字、字母(大小写皆可)、下划线(_)组成。
2、不以数字开头,如以字母开头,必为大写字母。
输入描述 Input Description
输入为一行,包含一个长度不超过20的字符串,且字符串中不包含空格,
输出描述 Output Description
输出为一行,若它是合法文件名,则输出"Yes",否则输出"No"。
样例输入 Sample Input
Abcd1234_abcd
样例输出 Sample Output
Yes
#include<iostream>
#include<string>
using namespace std;
bool flag[20],t;
int main(){
string s;
getline(cin,s);
for(int i=0;i<s.size();i++){
if((s[i]<'0'&&s[i]>'9')&&(s[i]<'A'&&s[i]>'Z')&&(s[i]<'a'&&s[i]>'z')&&(s[i]!='_')){
flag[i]=0;
}
else{
if((s[0]>='0'&&s[0]<='9')||(s[0]>='a'&&s[0]<='z')){
flag[i]=0;
}
else{
flag[i]=1;
}
}
if(flag[0]==0||(i!=0&&flag[i-1]==0)){
cout<<"NO";
t++;
break;
}
}
if(t==0){
cout<<"Yes";
}
return 0;
}
以上是30分代码
请发思路或核心代码
不要整段代码与伪代码
C++或Python3
0
已采纳
邓犁
高级守护
高级守护
Accepted:100分
邓犁的测评结果:
测试点#1测评结果 : Accepted时间 : 0ms
测试点#2测评结果 : Accepted时间 : 0ms
测试点#3测评结果 : Accepted时间 : 0ms
测试点#4测评结果 : Accepted时间 : 0ms
测试点#5测评结果 : Accepted时间 : 0ms
测试点#6测评结果 : Accepted时间 : 0ms
测试点#7测评结果 : Accepted时间 : 0ms
测试点#8测评结果 : Accepted时间 : 0ms
测试点#9测评结果 : Accepted时间 : 0ms
测试点#10测评结果 : Accepted时间 : 0ms