c语言输入一个字符串判断有多少大小写字母,数字和空格这个

c语言输入一个字符串判断有多少大小写字母,数字和空格这个,第1张

只要不是关键字,数字开头,只要是以字母和下划线开头,并且后续字符都是数字或者字母或者下划线多长都可以。但是不宜太长,否则可读性差。比如
int
_sjoifjsflajfkldsjflasjflasfjk;肯定可以,但是太长,可读性不好。

要解答这道题,关键是要搞清楚字符有哪些?这些字符的ASCII 是什么?c语言中,每一种类型的字符有固定的ASCII范围!以下是本题的答案:
#include<stdioh>
void main()
{
char c;
printf("请输入一个字符:\n");
c=getchar();
if(c>=48&&c<=57)
printf("该字符是数字!\n");
else
if(c>=65&&c<=90)
printf("该字符是大写字母!\n");
else
if(c>=97&&c<=122)
printf("该字符是小写字母!\n");
else
if(c==32)
printf("该字符是空格!\n");
else
printf("该字符是其他字符!\n");
}
祝你学习愉快,(^__^) 嘻嘻……

遍历字符串
比较每个字符是在'a'和'z'之间还是在'A'和'Z'之间
是就加1
char a[] = "abcABC123";
int countA=0;
int countb = 0;
for (i=0 ;i < 6;i++)
{
if(a[i]>='a' && a[i]<='z')
{
countb ++;
}
else if (a[i]>='A' && a[i]<='Z')
{
countA ++;
}
}

/假设返回值
1为小写
2为大写
3为数字
4为其他字符
/
cc(char
c)
{
if(c>='a'&&c<='z')
{
printf("小写字母");
return
1;
}
else
if(c>='A'&&c<='Z')
{
printf("大写字母");
return
2;
}
else
if(c>=0&&c<=9){
printf("数字");
return
3;
}
else
{
printf("其他字符");
return
4;
}
}

#include
<stdioh>
#include
<stdlibh>
#define
N

100
void
func3()
{
char
str[N];
int
i,lower=0,upper=0,digit=0,space=0;
long
others=0;
printf("Input
a
string:");
gets(str);
for(i=0;str[i]!='\0';i++)
{
if(str[i]>='a'
&&
str[i]<='z')
lower++;
/统计小写英文字母/
else
if(str[i]>='A'
&&
str[i]<='Z')
upper++;
/统计大写英文字母/
else
if(str[i]>='0'
&&
str[i]<='9')
digit++;
/统计字符串/
else
if(str[i]=='
')
space++;
else
others++;
/统计其他字母/
}
printf("lower
English
character:%d\n",lower);
printf("upper
English
character:%d\n",upper);
printf("digit
character:%ld\n",digit);
printf("space:%d\n",space);
printf("other
character:
%ld\n",others);
return
0;
}
int
main()
{
while(1)
{
func3();
printf("\n");
system("pause");
}
return
0;
}

扩展资料:


程序实现思路分析
统计大小写字母、数字的个数,首先要判断出字符是属于哪一种,然后增加计数。
1、判断
小写字母的范围为:'a'~'z'
大写字母的范围为:'A'~'Z'
数字的范围为:'0'~'9'
2、声明三个int变量并赋值初值为0
lower——统计小写英文字母
upper——统计大写英文字母
digit——统计数字

#include<stdioh>

voidmain()

{

charch;

inta;

ch=getchar();

if(ch>='a'&&ch<='z')

ch='1';

if(ch>='A'&&ch<='Z')

ch='2';

if(ch=='')

ch='3';

switch(ch)

{

case'1':printf("xiao\n");break;

case'2':printf("da\n");break;

case'3':printf("空格\n");break;

default:printf("qita");

}

}

扩展资料

C语言ctypeh的字符判断函数

函数名为如下参数时,返回值为真

isalnum()字母或数字

isalpha()字母

isblank()一个标准的空白字符(空格、水平制表符、或换行)

iscntrl()控制符,例如ctrl+B

isdigit()阿拉伯数字

isgraph()除空格外的所有可打印字符

islower()小写字母

isprint()可打印字符

ispunct()标点符号(除空格和字母数字外的可打印字符)

isspace()空白字符

isupper()大写字母

isxdigit()十六进制数字字符


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12902761.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存