解题思路:

无所畏惧,直接上


注意事项:

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分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论