杭电OJ_2024(C++版)

本文介绍了一个使用C++实现的字符串合法性检查程序,通过获取用户输入的重复次数和字符串,程序能够判断字符串是否以数字开头,以及是否仅由字母、数字和下划线组成。文章分享了使用cin、gets、isdigit和isalnum函数的方法,并强调了处理输入时的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <iostream>
#include <cstring>
#include <stdio.h>
#include <ctype.h>
using namespace std;
int main()
{	
	int repeat;
	cin>>repeat;
	getchar();
		while(repeat--)
		{	
			char a[100];
			bool flag=true;
			gets(a);
			int len=strlen(a);
		
			for(int i=0;i<len;++i)
			{
				if(isdigit(a[0]))
				{
					flag=false;
					break;
				}
				else if(!(isalnum(a[i]))&&a[i]!='_')
				{
					flag=false;
					break;
				}
			}
			if(flag)
				cout<<"yes"<<endl;
			else
				cout<<"no"<<endl;
		}
}

tips:其实参考了很多人的代码。

1、cin>>repeat;之后记得加getchar()吃掉换行符。

2、学会了用gets(a)来输入一行字符串。

3、用strlen来得到字符串长度,然后用来结束对字符串的处理。

4、用isdigit()来判断数字,用isalnum()判断是否是字母或数字。记得 包含头文件ctype.h