问题标题: 酷町堂:1088 合法文件名

0
0
已解决
郑怡翔
郑怡翔
初级天翼
初级天翼

题目链接:链接

30分代码:

#include<iostream>
#include<string>
using namespace std;
int main()
{   
    string a;
    cin>>a;
    int i=1;
    for(;i<=a.size();i++)
    {
        if(a[i]=='_' ||a[i]<='z'&&a[i]>='a'||a[i]<='Z'&&a[i]>='A'||a[i]<='9'&&a[i]>='0')
        {
            if(a[0]<='9'&&a[0]>='0'||a[0]>='A' &&a[0]<='Z')
            {
                cout<<"Yes";
                return 0;
            }
            else
            {
                cout<<"No";
                return 0;   
            }
        }
        cout<<"No";
    }
    return 0;
} 

求教


2
已采纳
马佳滢
马佳滢
新手天翼
新手天翼

哇!dalao先%%%

您应该在循环里判断不合法的情况,输出No,return 0,

然后再在循环外面判断开头是否合法,

记住是大写字母或下划线'_'

0
宫西诚
宫西诚
修练者
修练者
    定义字符串 s;
    输入 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";
    }

求采纳

宫西诚在2018-07-21 16:40:28追加了内容

0
0
0
我要回答