‘壹’ c语言里 输入时 怎么判断是字符还是数字
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
‘贰’ c语言如何定义一个函数判断一个字符串是否含有空白字符
这样定义:
int haveaspace(char *s)
{
int i;
for(i=0;s[i];i++)
if(isspace(s[i]))
return 1;
return 0;
}
这是一个使用这个函数的一个例子:
#include <stdio.h>
#include <ctype.h>
int haveaspace(char *s)
{
int i;
for(i=0;s[i];i++)
if(isspace(s[i]))
return 1;
return 0;
}
int main()
{
char s1[]="aaa1A+";
char s2[]="aaa1 1A+";
if(haveaspace(s1))
printf("%s包含空白字符\n",s1);
else
printf("%s不包含空白字符\n",s1);
if(haveaspace(s2))
printf("%s包含空白字符\n",s2);
else
printf("%s不包含空白字符\n",s2);
return 0;
}
‘叁’ C语言怎么判断我输入的5个字符中含有非数字字符
你的意思是你要连着输入5个字符,没有空格也没有换行?那你的输入方法用错了,因为%d的范围可以包括int类型的取之范围的,所以不管你输入多少位,系统永远认为你输入的是一个int,你可以用gets()呀,先获得连续的字符串,你就可以用a[i]<'0'
||
a[i]>'9'来判断了,当然a[i]的类型是char类型的,如果不确定是几位,你可以定义char
a[100],到时候用strlen获得长度,a[strlen(a)]
=
'\0'就好啦
,随便写个程序给你看看吧
#include
<stdio.h>
#include
<string.h>
int
main()
{
char
a[100];
int
n
=
0;
gets(a);
for(int
i
=
0;
i
<
strlen(a);
i++)
{
if(a[i]
<
'0'
||
a[i]
>
'9')
{
n++;
}
else
printf("%c",
a[i]);
}
printf("\n%d\n",
n);
getchar();
return
0;
}
‘肆’ C语言中给定一个字符串,判断它是否包括字母和数字
1 定义两个flag,用来标记是否含有字母和数字,初始值为0;
2 输入字符串;
3 遍历字符串,如果发现字母,标记字母flag,如果发现数字,标记数字flag;
4 遍历结束,或者两个flag均被标记,退出循环;
5 输出结果。
代码如下:
intmain()
{
chars[100];
intc,n,i;
c=n=0;
gets(s);
for(i=0;s[i];i++)
{
if(s[i]>='0'&&s[i]<='9'&&n==0)
{
n==1;
if(c)break;
}
if((s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')&&c==0)
{
c==1;
if(n)break;
}
}
if(n)printf("含有数字 ");
elseprintf("没有数字 ");
if(c)printf("含有字母 ");
elseprintf("没有字母 ");
}
‘伍’ C语言要怎样判断是否为字符
例如前缀的数据类型定义为char
的都是字符,再者就是每个字符都有单引号包括。竭诚为您服务,解答难题,祝您开心,生活加油~~~
‘陆’ C语言 判断一个字符串str是否包含特定字符c
看看你的程序:
for(i=0;i<=strlen(s);i++)
{if(s[i]==c)
break;return
1;}
if(s[i]==c)返回ture,执行break,跳到循环体的开始下一次循环;
if(s[i]==c)返回false,不执行break,执行return
1,直接返回了1。--->这个就是问题所在了。就是匹配了你break了,只要有一个不匹配你就直接return
1。
修改如下:
for(i=0;i<=strlen(s);i++)
{
if(s[i]!=c)
//不是==,而是!=
break;
else
return
1;
}
‘柒’ 判断c中字符串中是否含有某个字符的程序
#include <string.h>
char *strchr(const char *s, int c);
C标准库中的strchr函数返回字符c在字符串s的位置,如果返回的指针为NULL,那么表示字符串中不包含该字符
#include<stdio.h>
#include <string.h>
void main() {
char *s = "hello";
char c = 'l';
if (strchr(s, c)) {
printf("%s\n", "yes");
}
else {
printf("%s\n", "no");
}
}
‘捌’ 怎样用C语言编写程序判断字符串S1是否包含字符串S2.(不使用库函数)
1.字符串S2的第一个字母在串S1中查找~若无则不包含
2.若有则取S2的第二个字母在串S1相对第一个找到的位置继续匹配~若不匹配,则回到第一步,和查找到的第二个和S1中匹配的S2的第一个字母
若匹配,则继续第2步
直到串S2的所有字符与串S1的字符完全匹配,则包含~
‘玖’ 在C语言中怎样判断一个字符串中是否包含另一个字符串
如果“一个字符串”全部是英文字符的话,只要开一个chars[128];的哈希表,每个在其中出现的字符按它的ASCII值,将相应的元素置为1;
然后扫描“另一个字符串”,检测每一个字符,在数组中对应元素的值是否为1。若这个串里的对应元素值全部为1,则是“包含另一个字符串所有的字符”。
这个算法的时间复杂度为O(n1+n2),n1和n2是二个字符串的长度。
#iclude<stdio.h>
int main()
{char s1[200],s2[200],s[128]={0};//初始化,所有字符均未出现
int i,k=1;
gets(s1);
gets(s2);
for(i=0;s[i];i++)
s1[s[i]]=1;//将字符串s1中出现的每一个字符,均“记录在案”
for(i=0;s2[i];i++)
if(!(s[s2[i]]))k=0;//若s2中有字符在“记录簿”中未出现,就作记录
if(k)printf("s1包含了s2中的全部字符 ");//根据是否有记录输出相应记录
elseprintf("s1未包含s2中的全部字符 ");
return 0;
}
‘拾’ C语言如何判断是否有字符输入
使用ctype.h里面isdigit()和isalpha函数就可以判断了
#include <ctype.h>
#include <stdio.h>
int main()
{
printf("1 是数字吗? %s\n",isdigit('1')?"是":"不是");
printf("a 是字母吗?%s",isalpha('a')?"是":"不是");
return 0;
}