栾静怡


私信TA

用户名:uq_69767536335

访问量:275

签 名:

小楫轻舟,已然梦入芙蓉浦。

等  级
排  名 1535
经  验 2818
参赛次数 2
文章发表 27
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

好好学习 天天向上 。

解题思路:

无所畏惧,直接上


注意事项:

0 到 9 的ASCII码是48到57

a 到 z 的ASCII码是97到122

A 到 Z 的ASCII码是65到90

参考代码:

#include<stdio.h>

#include<string.h>

int main ( )

{

    char a[21]={0} ;

    gets(a) ;

    int b=strlen(a) ;

//通过 b 查看遍历数组 a 所需要的次数

    int c=0 ,d=0 ;

//通过 c  记录符合条件的字符数量,然后判断这个数量是不是等于字符串的数量,就可以知道这个字符串符不符合C语言标准了

/*通过 d 来标记,我是不是输出过“no”了,输出过我就不需要再重复输出了,我最开始是没有设置 变量d 的,它是在我检查代码之后加上去的,不加就容易重复输出“no”*/

    if ( a[0]>=65&&a[0]<=90 || a[0]>=97&&a[0]<=122 || a[0]==95 )

//判断字符串里面的第一个字符是不是符合条件,它是不是英文字母或者下划线

//    逻辑或 || 满足其中一个条件就可以

//    逻辑与 && 同时满足符号 && 两边的条件才可以

        {

        for ( int i=0 ; i<b ; i++ )

            {

            if ( a[i]>=65&&a[i]<=90 || a[i]>=97&&a[i]<=122 || a[i]==95 || a[i]>=48&&a[i]<=57 )

                    c++ ;

            else

                    {

                    printf("no") ;

                    d++ ;

                    break ;

                    }

            }

        }

    else

            {

            printf("no") ;

            d++ ;

            }

    if ( c==b ) printf("yes") ;

    else if ( c!=b && d==0 ) printf("no") ;

//字符串中间存在不符合C语言标准的字符,并且我还没有输出过“no”

    return 0 ;

}


 

0.0分

0 人评分

新上线《蓝桥杯辅导》课程,近五年的蓝桥杯省赛与国赛真题都有,从读题开始理解题意、梳理思路、实现代码再提交评测全过程,可有效提升获奖比例甚至进国赛!课程介绍、试听请猛击这里

  评论区

  • «
  • »