① c语言 输入一个字符,判断是字母,数字,还是特殊字符
#include <stdio.h>
#include<string.h>
#define N 100
main()
{
char all[N];
int i;
printf("请输入一个字符串(不超过100个):");
gets(all);
for(i=0;all[i];i++)
{
if(all[i]>'a'&&all[i]<'z'||all[i]>'A'&&all[i]<'Z')
printf("字母! ");
else if(all[i]>'0'&&all[i]<'9')
printf("数字! ");
else printf("其他字符! "); }
}
(1)c语言如何将字符一个一个判断扩展阅读:
根据ascii码值判断即可。由于数字,大小写字母均分别为连续存储,所以只需要与对应的最大最小值比较即可确定字符类型。、
② c语言中怎么判断一个字符数组中的一项和输入的字符是否一样
‘/0’
不是空字符,它是个转义字符,和\n差不多,它占内存!ascii值为000的是空字符,不占内存!‘/0’用于表示一个字符串的结束标志!空格输入字符ascii值为032,也占内存。所以判断一个字符变量是否空格c==‘
'或c==32.
③ 关于C语言如何判断字符,请高手解答
不要用scanf输入,用gets,输入字符串的时候,scanf会把空格当成字符串之间的分隔符,如果你输入how
are
you,那么系统把空格当成分隔符,会先把how送入字符串中,把how当成一个字符串处理,所以自动在how后面加'\0',how后面的字符全读不进来.用gets就可以解决这个问题.
#include
"stdio.h"
#include"string.h"
main()
{char
ch[100];
int
i,n,upp=0,low=0,dig=0,spa=0,oth=0;
printf("input
character;\n");
gets(ch);
printf("%s\n",ch);
n=strlen(ch);
for(i=0;i
='a'&&ch[i]<='z')low++;
else
if(ch[i]>='A'&&ch[i]<='Z')upp++;
else
if(ch[i]>'0'&&ch[i]<='9')dig++;
else
if(ch[i]=='
')spa++;
else
oth++;
}
printf("\nupper
case:%d\n",upp);
printf("lower
case
:%d\n",low);
printf("digit
:%d\n",dig);
printf("space
:%d\n",spa);
printf("other
:%d\n",oth);
}
④ c语言中如何在给定的一个字符串中判断是否有另外一个输入的字符串有什么简单方法吗
char arr1[];
char arr2[]; //你的俩字符串
int main()
{
unsigned Arr1Len = strlen(arr1); //字符串1的长度
unsigned i = 0,j = 0,count = 0;
for(i;i<Arr1Len;i++) //根据1的长度决定循环次数
{
/*循环对比,找到就推出循环并且计数加一*/
while(arr2[j++]!='\0')
{
if(arr1[i]==arr2[j])
{
count++;
j=0;
break;
}
}
}
printf("出现次数为%d\n",count);
}
大体的思路,没编译过
⑤ 用c语言如何判断一个字符串常量的字母个数,数字个数,空格个数,其他个数
下面是我的程序:
#include
#define
n
81
#include
int
main()
{
char
str[n];
int
i,n,zimu,num,kongge,others;
zimu=num=kongge=others=0;
gets(str);
n=strlen(str);
for(i=0;i
='a'&&str[i]<='z')
zimu++;
else
if(str[i]>='a'&&str[i]<='z')
zimu++;
else
if(str[i]>='0'&&str[i]<='9')
num++;
else
if(str[i]='
')
kongge++;
else
others++;
printf("\n字母:%d,数字:%d,空格:%d,其他:%d",zimu,num,kongge,others);
return
0;
}
希望对你有所帮,记得采纳哦。
⑥ C语言如何判断输入的字符串等于某个字符串
1)最前面加 #include <string.h>
2)然后把你的enter修改成 char enter[18];
3)然后输入不应该是用%c而是%s
4)比较代码是
if(strcmp(enter,"想比较的字符串")==0)
{//表示相等
}
else
{//不等
}
⑦ c语言中如何将一个字符串中的每个字符分出开存入数组中或者对单个字符进行判断
C语言中,对于字符串就是用字符数组来实现的,所以要想处理单个字符,只需要索引数组即可;而字符串的拷贝可以通过strcpy函数,也可以自己用循环实现
⑧ 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语言
简单的话可以用正则表达式
自己写可以类似下面来做
#include "string.h"
typedef struct {
char* str;
int (*check)(char* str, int* len);
}Rule;
int rule1(char* s, int* len) {
if (s[0] >= '0' && s[0] <= '1') {
if (s[1] >= '0' && s[1] <= '1') {
*len = 2;
return 1;
}
*len = 1;
return 1;
}
return 0;
}
int rule2(char* s, int* len) {
char* str[4] = {"C5", "E5", "D4", "D6"};
int i;
for (i = 0; i < 4; i++) {
if (s[0] == str[i][0] && s[1] == str[i][1]) {
*len = 2;
return 1;
}
}
return 0;
}
Rule rule[] = {
{"<&", NULL},
{NULL, rule1},
{"&,/[D->", NULL},
{NULL, rule2},
{"]>", NULL},
};
int check_string(char* s) {
int i;
for (i = 0; i < sizeof(rule)/sizeof(Rule); i++) {
Rule* r = &rule[i];
if (r->str) {
int len = strlen(r->str);
if (memcmp(s, r->str, len)) {
return 0;
}
s += len;
}
else if (r->check) {
int len;
if (r->check(s, &len) == 0) {
return 0;
}
s += len;
}
}
return 1;
}
#define CHECK(str) printf("check %s %s\n", str, check_string(str)? "OK":"Fail");
int main() {
CHECK("<&11&,/[D->D6]>");
CHECK("<&10&,/[D->D4]>");
CHECK("<&10&,/[D->D1]>");
CHECK("<&0&,/[D->C5]>");
return 0;
}
⑩ 用C语言怎么判断一个字符串是否为空
就是用strlen(变量)==0来判断一个字符串是否为空,空格也是一个字符,字符串结束的标识符是'\0'