C语言合法标识符

【第17题】给定一个字符串,判定是否是C语言合法标识符 || ----> 这道题目当时没做出来 目录题目描述解题思路第一步第二步第三步第四步解题代码写在最后写在最后 题目描述 循环输入。每组输入为一个长度不超过80的字符串,判断它是否是C语言合法标识符。没有任何输入时,程序结束。C语言合法标识符需要满足如下条件: (1)出现空格(或者tab)非法; (2)首字符不能是数字; (3)中间不能出现空格 (4)字符集只有 数字、_、大写字母、小写字母; 解题思路 第一步 对于输入的字符串,我们要先看一下它的长度是否是不超过80。 第二步 判断是否是空串。(这里比较巧妙,因为在判断空串的同时,可以顺 阅读详情

C语言合法标识符

输入一个字符串,判断其是否是C的合法标识符。

Input

输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。

Output

对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。

Sample Input

3
12ajf
fi8x_a
ff  ai_2

Sample Output

no
yes
no

C++编写:

由于先前自认为是对的,结果提交了很多次都是Wrong Answer,就感觉这个题可能要考虑关键字,就去网上搞了个别人没有考虑关键字的代码进去测试然而过了,然后又费力写了半天,其中还出了些让人头皮发麻的问题,终于搞出来了,代码如下:

/*合法标识符:
  所有标识符必须由字母或下划线开头
  标识符不能是关键字(此处不考虑)
 */
#include <iostream>
#include <string>
using namespace std;
int main()
{
    int n;
    cin>>n;
    cin.ignore();      //这个必须写,就是这玩意儿让人头皮发麻
    while(n--)
    {
        string a;
        getline(cin,a);
        int i;
        if(!(a[0]=='_' || (a[0]>='a' && a[0]<='z') || (a[0]>='A' && a[0] <= 'Z')))
        {
            cout<<"no"<<endl;
        }
        else
        {
            for(i=1;i<a.size();i++)
            {
                if(!(a[i]=='_' || (a[i]>='a' && a[i]<='z') || (a[i]>='A' && a[i] <= 'Z')||(a[i]>='0'&& a[i]<='9')))
                {
                    cout<<"no"<<endl;
                    break;
                }
            }
            if(i == a.size())
                cout<<"yes"<<endl;
        }
    }
}

当然代码注释出来了那一行,一直觉得自己真的没错了,就是Wrong Answer,真是能把人搞死。幸亏在网上看到了关于这样一个解说,加上去就直接Accept了。别人写的这篇文章也是关于这个题的,考虑了标识符是关键字的情况,大家可以了解一下,网址如下:
杭电acm 2024 C语言合法标识符

个人觉得当然当时去找来测试该题是否需要考虑关键字的情况的那个解题方法也很好,是调用库函数来完成的,也很有必要了解一下,此处就不窃取人家的代码发到自己的文章上了,提供一下他的网站:
HDU-2024 C语言合法标识符

C语言实验——合法的C标识符 (字符串)SDUT C语言实验——合法的C标识符 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 给出一个标识符,请你判断它是否是C语言合法的标识符。 Input 输入一个标识符,长度不超过100。 Output 判断是否合法,如果是输出YES,否则输出NO。 Sample Input ... 阅读详情

相关推荐

43_C++_试定义一个类STR,判断一个字符串是否为合法的C++标识符【暂无难点--考虑详细即可】

题目: main.cpp #include <iostream> using namespace std; #include<cstring> class STR { public: STR() { s = NULL; } STR(char *t) { s = new char[1024]; s = t; } bool Str() { int len = strlen(s);

HanLongXia的博客 631

ZZULIOJ 1138: C语言合法标识符

题目描述 输入一个字符串,判断其是否是C的合法标识符。C语言中规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。 输入 输入一个长度不超过50的字符串。 输出 如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。 样例输入 Copy 8fixafghgjhjhjyuyuyyuyuyu 样例输出 Copy no #include<stdio.h> #include<string.h> int main(){ char ch[52],fla

m0_51995978的博客 3174

字符串合法性检查

(继承和虚函数) 利用面向对象编程中继承和多态的技术,去编写一个检查字符串是否合法的 程序。供测试的字符串数据存储于文件data.txt中,要求程序要把含有错误字符 串的行打印出来。 注: 测试文件共8组数据,每组数据依次为姓名、年龄和籍贯。姓名和籍贯用拼 音串(英文字母)描述,年龄介于1~100(包括1和100)。

C语言——判断字符串是否是C的合法标识符

输入一个字符串,判断其是否是C的合法标识符。 输入格式: 数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。 输出格式: 对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。 代码: #include<stdio.h> int main(){ int n,i; char a[50]; while(scanf("%d",&n)!=EOF)...

qq_61768843的博客 1万+

scratch lenet(4): 开根号的C语言实现

使用C语言,分别使用二分法、牛顿法、卡马克快速法,求解正实数的开根号。包括公式推导、代码实现、运行结果,不使用任何第三方库和C标准库的数学库。

baiyu33的博客 4969

LM358实战:手把手教你搭建电流检测电路(附电阻选型计算)

本文详细解析了使用LM358运算放大器搭建电流检测电路的全过程,包括基础原理、采样电阻选型、放大电路设计及PCB布局技巧。通过实战案例和精确计算,帮助工程师快速掌握低成本、高精度的电流检测方案,适用于电源管理、电机控制等多种应用场景。

weixin_30872157的博客 451

什么是C语言的合法正确标识符?什么是C语言关键字?

什么是C语言的合法标识符? C语言标识符是指用来标识某个实体的一个符号,在不同的应用环境下有不同的含义,标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。 标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。标识符对大小写敏感,即严格区分大小写。一般对变量名用小写,符号常量命名用大写 扩展资料 在汇编语言里,

nous_x的博客 3万+

NPU、CPU和GPU

NPU、CPU和GPU是三种不同类型的处理器,它们各自有不同的设计特点和应用场景。NPU(Neural Processing Unit,神经网络处理单元)是一种专门为加速神经网络计算而设计的处理器。

m0_60697583的博客 1755

C语言 标识符、合法常量、转义字符

C语言 标识符、合法常量、转义字符

weixin_46165698的博客 1万+

用Quartus II和LPM_ROM手把手复现西电计组课设:从微指令到五条指令的完整流程

本文详细介绍了使用Quartus II和LPM_ROM复现西电计组课设的完整流程,从微指令编写到五条指令的实现。通过环境搭建、LPM_ROM配置、微程序设计及调试技巧,帮助读者高效完成课程设计,避开常见问题。适合计组课程设计的学习者和实践者参考。

weixin_29288313的博客 457

RapidScada在windows下的安装(详细)

1.下载地址:RapidScada官网 2.版本说明 有Linux版本和Windows版本,看自己的需求下载,推荐下载最新稳定版本。 3.系统要求 4.安装前的准备(windows10) 首先打开Windows功能: 先关闭 Microsoft .NET Framework3.5的 Windows Communication Foundation 子组件。如下图: Microsoft .NET Framework配置按下图勾选: iis安装的功能: 5.安装 解压..

m0_51275803的博客 4263

合法标识符(C语言)

描述: 给定一个不包含空白符的字符串,请判断是否是C语言合法的标识符号(注:题目保证这些字符串一定不是C语言的保留字)。 C语言标识符要求: 1. 非保留字; 2. 只包含字母、数字及下划线(“_”)。 3. 不以数字开头。 输入: 一行,包含一个字符串,字符串中不包含任何空白字符,且长度不大于20。 输出: 一行,如果它是C语言的合法标识符,则输出yes,否则输出no。 样例输入: RKPEGX9R;TWyYcp 样例输出: no 本题思路不用多说,但是我们容易遗.

llvyeriji的博客 2万+

uniapp [微信小程序] - 详解微信小程序端接入mqtt全流程及示例源码教程,uniApp微信小程序端如何接入MQTT插件并实现连接/断开+发布订阅+消息队列+离线重连等各种示例代码(开箱即用)

uniapp微信小程序接入MQTT,uniapp中使用mqtt,uniapp 微信小程序端接入mqtt示例代码教程,适用于微信小程序的MQTT插件,uniapp开发微信小程序连接mqtt,uniApp微信小程序接入MQTT协议,uniapp vue3微信小程序使用MQTT的小例子接入流程,使用uniapp开发小程序接入mqtt,如何在uniapp项目中使用mqtt,uniapp mqtt的使用示例,mqtt连接报错,如何在项目里集成mqtt,Mqtt协议,主动连接mqtt,订阅消息,实现发布,订阅和接收消息

🏆 前端领域优质创作者 2883

C语言合法标识符-c语言

1. `gets`函数是C语言中的一个输入函数,用于从标准输入(通常是键盘)读取一行字符串,并将其存储到指定的字符数组中。它会读取字符,直到遇到换行符`\n`为止,然后将换行符替换为字符串结束标志`\0`。示例代码gets(str);//不用加取地址return 0;可见gets函数可以读空格如果用scanf("%s",jj);来输入的话,不能将空格输入,结果如下。

zhiyuyoyo的博客 2107

Autosar MCAL-S32k324 Crypto配置-基于EB

NXP官网提供了免费的HSE固件,同时也提供了对应的协议栈。本文以算法为例,介绍MCAL相关的配置及在代码中的集成与使用。使用HSE计算,比软件算法确实方便许多。后面会完善更多的算法测试。

赞的博客 2436

【银河麒麟V10】【桌面】【服务器】系统启动问题

1、如果之前运行好好的,重启后系统报错,一般80%是因为fstab的问题,回想下之前有没有添加过外接存储,修改过/etc/fstab,如果是的话一般是因为存储异常(比如网络存储无法连接,本地存储路径变化)导致系统开机自检失败,导致无法正常启动; 处理方式:进入单用户(单用户进入的几种方式上面有专门文章介绍),修改/etc/fstab,将新增的内容暂时注释掉,然后重启系统,能正常进入系统后再分析失败原因。 ...

桂安俊@KylinOS 3万+

C语言实验——合法的C标识符

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 Proble...

weixin_44041997的博客 4314

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

C语言合法标识符(含知识点)

C语言标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线()组成的字符串,并且其第一个字符必须是字母或下划线。 题目描述 输入一个字符串,判断其是否是C的合法标识符。 输入 输入一个长度不超过50的字符串。 输出 如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。 样例输入 8fixafghgjhjhjyuyuyyuyuyu 样例输出 no AC: #include <stdio.h> #include <stdlib.h> #include <s

m0_51690407的博客 9880

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

2024 C语言合法标识符

C语言合法标识符 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 46159    Accepted Submission(s): 18595 Problem Description 输入一个字符串,判断其是否是C的合法标

希望的专栏 6652

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

hdu 2024 C语言合法标识符

C语言合法标识符<br />Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)<br />Total Submission(s): 10155    Accepted Submission(s): 4235<br /><br /><br />Problem Description输入一个字符串,判断其是否是C的合法标识符。<br /> <br /><br />Input输入数据包含多个测试实例

killsoon的专栏 1070

C语言如何要求标识符,c语言合法标识符的要求是什么

c语言合法标识符的要求是:标识符只能由字母(A~Z, a~z)、数字(0~9)和下划线(_)组成,并且第一个字符必须是字母或下划线,不能是数字。标识符定义变量时,我们使用了诸如 a、abc、mn123 这样的名字,它们都是程序员自己起的,一般能够表达出变量的作用,这叫做标识符(Identifier)。标识符就是程序员自己起的名字,除了变量名,后面还会讲到函数名、宏名、结构体名等,它们都是标识符。不...

weixin_33280675的博客 3134

HDU C语言合法标识符

//#include <bits/stdc++.h> #include <iostream> #include <cstring> using namespace std; int main(){ char s[55]; int n; cin >> n; getchar(); while(n--){ cin.getline(s,55);//知识点漏洞 if(s[0] >= 'a' && s[0] <= 'z' |

qq_45866781的博客 255

c语言合法标识符号大全,C语言合法标识符

C语言合法标识符输入一个字符串,判断其是否是C的合法标识符。Input输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。Output对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。Sample Input312ajffi8x_aff ai_2Sample Outputnoy...

weixin_35991223的博客 5208
上一篇: 查找最大元素
下一篇: Ants
Slatter
博客等级 码龄8年 105粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值