C语言编程题,输入一个字符串判断是不是合法的标识符如果合法输出yes如果不合法输出no C语言判断一串字符是否为合法的标识符 我的怎么代码不对?

作者&投稿:禹蓝 (若有异议请与网页底部的电邮联系)
/**
程序描述:输入一个字符串判断是不是合法的标识符如果合法输出yes如果不合法输出no.
算法思路:合法标识符条件:首字符必须是下划线(_)或者英文字母,并且标识符是由下划线,英文字母和数字组成。
*/
#include <stdio.h>
#include <string.h>
int main()
{
char str[256];
int i,flag=1;
printf("Please input a string: ");
scanf("%s",str);
//对输入的字符串进行遍历操作
for(i=0;i<strlen(str);i++){
if(!((str[0]=='_') || ((str[0]>='a'&& str[0]<='z') || (str[0]>='A'&& str[0]<='Z'))))
{
printf("no
");
flag=0;
break;
}
if(!(str[i]=='_' || (str[i]>='a'&& str[i]<='z') || (str[i]>='A'&& str[i]<='Z') || (str[i]>='0' && str[i]<='9')))
{
printf("no
");
flag=0;
break;
}
}
if(flag)
printf("yes
");

return 0;
}

示例运行结果截图:



这个是简单的判断和输出。建议自己慢慢体会,选择语句和判断语句.
学习是自己体会的过程建议不要什么时候,都询问别人

根据ASCIi码来判断

1、C语言合法标识符:输入一个字符串,判断其是否是C的合法标识符~

1、使用中文当标识符,其前提是编译器支持中文当标识符,C++11之后,通用字符名覆盖到了汉字。

2、使用中文作为标识符时,其头文件与原来一样。

3、程序中的名字空间,保持不变。

4、可以将保留字定义为中文,用define定义。

5、可以用类型名,直接定义中文的变量名。

6、中文标识符的使用,和普通标识符一样。

#include
#include

int main()
{
char str[1006];
int i,flag=1;
gets(str);
if(str[0]=='_'||isalpha(str[0]))
flag=1;
else
{
flag=0;goto IN;
}
for(i=1;str[i]!='\0';i++)
{
if(isdigit(str[i])||isalpha(str[i])||str[i]=='_')
flag=1;
else
{
flag=0;break;
}
}
if(flag==1)
printf("yes
");
else
IN:printf("no
");
return 0;
}
已测试通过。把 ‘-’改成‘_’就好了

C语言中输入一个字符串,并对其进行判断。如果是“1d2”,就输出“1...
答:include<stdio.h>#include<string.h>int main(){char s[100]; scanf("%s",s); if(strcmp(s,"1d2"))printf("9\n"); else printf("1\n"); return 0;}

用C语言编写一完整源程序,从键盘输入一个字符串Str1,在新的一行输入一...
答:for(i=0;*(d+i)!=0;i++)(d+i)=*(d+i+1);} }int main(){ char Str1[100]={0};char Char_Check;int i;gets(Str1);scanf("%c",&Char_Check);for(i=0;i<strlen(Str1);i++)//一次只能删除一个特定字符,循环删除,最多循环字符串最大长度 deleteChar(Str1,Char_Check);...

判断输入的一个字符串是否为回文串,若是输出“Yes”,否则输出“No...
答:错误原因:1)C语言中变量的定义属于声明,需要写在一个函数的开始部分。2)把一个字符串中的字符逆序取出赋值给另一个字符数组时,记得末尾加上空字符。参考代码如下,希望能帮到您!include <stdio.h> include <stdlib.h> int main(void){ char str[100];int length;char str1[100];int a=0...

...刚学循环和数组,问个问题,从键盘输入一个字符串,统计其中出现字符A...
答:include<stdio.h> void main (){ int num=0,i;/*num保存A出现个数,i循环参数*/ char str[30];/*定义一个字符串*/ scanf("%s",str);/*输入一个字符串*/ for(i=0;str[i]!='\0';i++);/*直到字符串结束为止,循环判断字符串中每个字符是不是A*/ { if(str[i]=='A');/*...

...函数返回1,否则返回0.主函数中输入字符串,输出结果
答:include<stdio.h> int IsPalin( char* str ){ int len = strlen( str );char* p = str;char* q = str + len - 1;for( ; p < q; ++p, --q ){ if( *p != *q ){ return 0;} } return 1;} int main(){ char str[20];printf( "input a string: \n" );scanf( "...

C语言编程:从键盘输入一个字符和一个字符串,判定该字符能否在输入的字...
答:include "stdio.h"int main(){ char s[100],c;int i;printf("字符串:");gets(s);printf("字符:");c=getchar();for(i=0;s[i]!='\0'&&s[i]!=c;i++);if(s[i]=='\0') printf("Not found.\n");else printf("该元素的下标:%d\n",i);} ...

C语言:如何判断输入的是数字还是其他字符
答:有很多方法:1、可以用sacnf或gets函数直接接收输入的字符串,然后用循环遍历字符串中每一个字符,判断其是字母还是数字。2、可以用循环调用getch()或getchar()函数来一个一个字符的接收输入,同时判读输入的是字母还是数字。至于怎么判读是字母还是数字,很简单,假设字符c,满足 (c>='a'&& c<='z'...

如何用C语言编一个程序,来检测输入的字符串是不是某一个特定的字符串...
答:include <conio.h> define DEBUG 1 int main(){ char src[512] = "";char *dst = "asdf kjhf";int fg = 0;//脚标 char ch;printf("请输入字符串,回车结束输入:\n");ifdef DEBUG //此方法可以不用回车当结束符亦可 while (ch = getch()) { printf("%c",ch);//回显输入 if (...

C语言判断一个字符串是否是另一个字符串的子串
答:以及字符串的子串。3、定义两个整型变量,保存同构字符串中所有字母的数量。4、重置数组n的值,初值为0。5、判断字符串的子串,是否为同构子串。6、如果子串是同构子串,则统计值自加1。7、运行程序,输入两个字符串后,电脑就会统计出所有同构子串的数量。

c语言中if语句如何验证输入一个字母是否与给定的相同?
答:if (x == 'a'){ //相同}else { //不相同}对于判断一个字符串是否与给定字符串相同,则需要借助strcmp函数进行判断,如果返回0,则相等,比如判断字符串是否与给定的字符串"abc"相同,代码如下:if (strcmp(str, "abc") == 0){ //相同}else { //不相同}使用strcmp函数时,需...