杭电oj2024

http://acm.hdu.edu.cn/showproblem.php?pid=2024

image.png

首先根据C语言对标识符的要求,判断字符串里是否为下划线,字母和数字组成进行判断,可以使用循环对字符串每个字符进行判断。
当字符属于字母,下划线或者数字,就继续循环,否则,便输出no并跳出循环。
完成代码如下:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char a[50];
    int i;
    int j;
    scanf("%d",&j);
    while(j--)
    {
    scanf("%s",a);
    if(a[0]=='_'||(a[0]>='a'&&a[0]<='z')||(a[0]>='A'&&a[0]<='Z'))
    {  
        for(i=1;a[i]!='\0';i++)
        {
            if(a[i]=='_'||(a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')||(a[i]>='0'&&a[i]<='9')) 
                continue; 
            else
            {
                printf("no\n");
                break;
            }
        }
        if(a[i]=='\0')
            printf("yes\n");
    }
        else 
        printf("no\n");
    }
      return 0;
}

在写第一个程序的时候,当输入的字符串都为字母时,循环就被迫中止,而当输入的字符串都为数字时,便不会出现上述情况,为此,我找到问题的所在,更改了循环的方式,问题得以解决。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 9,947评论 0 5
  • https://vjudge.net/problem/HDU-3980题意: 两个人在一个由 n 个玻璃珠组成的...
    Gitfan阅读 4,636评论 0 0
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,132评论 0 10
  • 相信每一位玩ACM程序设计竞赛的同学来说,都有一个从入门到精通的过程,而且分享他们经验的时候,见到最多的就是一种合...
    FinlayLiu阅读 10,773评论 6 182
  • 原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2025 在写这道题...
    process21阅读 4,388评论 0 0