问题标题: 酷町堂:1088

0
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
已采纳
邓犁
邓犁
高级守护
高级守护

1088   合法文件名

 

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

我要回答