
正文
c语言中字母计数的函数 c语言求字母个数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
c语言 对任意输入的字符串,统计其中的大写字母和小写字母的个数
#includestdio.h
#includestring.h
voidmain()
{
charsen[100];
unsignedinti;
intspace,A,a,num,other;
space=A=a=num=other=0;
printf("输入字符串:\n");
gets(sen);
for(i=0;istrlen(sen);i++)
{
if(sen[i]'A'sen[i]'Z')
A++;
elseif(sen[i]'a'sen[i]'z')
a++;
elseif(sen[i]='0'sen[i]='9')
num++;
elseif(sen[i]=='')
space++;
else
other++;
}
printf("该字符串共有%d个字符\n\n\t大写字母%d个\n\t小写字母%d个\n\t数字%d个\n\t空格%d个\n\t其他字符%d个\n\n",strlen(sen),A,a,num,space,other);
}
扩展资料
C语言统计一个文件字符数
1、getchar函数。getchar函数默认的输入来源是标准输入,即stdin,通常是键盘。但是根据题目的要求,输入就不能是键盘了,而是一个文件。
2、判断文件结尾。不同的操作系统,对待文件的结尾标志是不一样的。unix系统的文件结束标志是ctrl+d,win是ctrl+z。为了屏蔽不同系统的差异,统一用EOF来表示。
3、重定向技术。对于getchar和printf函数,stdin和stdout默认是键盘和显示器,为了从文件输入和输出到文件,需使用重定向技术“”和“”,使得stdin和stdout重定向到文件。
相关问答
Q1: c语言中怎样统计字符串中包含英文字母的个数?
c语言中要统计字符串中包含英文字母c语言中字母计数的函数的个数可以参考以下内容:
main()
{
char str[100],*p;
int num[4],i;
p=str;
gets(str);
for(i=0;i4;i++)
num[i]=0;
for(;*p!='\0';p++)
{
if((*p='z'*p='a')||(*p='Z'*p='A')) num[0]++;
else if(*p==' ') num[1]++;
else if((*p='9'*p='0')) num[2]++;
else num[3]++;
}
printf("%d %d %d %d\n",num[0],num[1],num[2],num[3]);
}
扩展资料:
在写代码的过程中需要注意:
void main()的用法并不是任何标准制定的。 C语言标准语法是int mainc语言中字母计数的函数,任何实现都必须支持int main(void) { /* ... */ }和int main(int argc, char* argv[]) { /* ... */ }。
类似于a+=a++;或者(i++)+(i++)+(i++)属于未定义行为,并不是说c语言中还未定义这种行为,它早有定论,它的结果取决于编译器实现,不要写这样的代码。
Q2: c语言统计字符串中字母个数是多少?
可以使用以下代码进行统计:
#include
main()
{undefined
int acount=0,bcount=0,ccount=0,dcount=0;
char a;
printf("请输入一行字符:\n");
a = getchar();
while (a !='\n')
{undefined
switch (a)
{undefined
case'q':
case'w':
case'e':
case'r':
case't':
case'y':
case'u':
case'i':
case'o':
case'p':
case'a':
case's':
case'd':
case'f':
case'g':
case'h':
case'j':
case'k':
case'l':
case'z':
case'x':
case'c':
case'v':
case'b':
case'n':
case'm':
case'Q':
case'W':
case'E':
case'R':
case'T':
case'Y':
case'U':
case'I':
case'O':
case'P':
case'A':
case'S':
case'D':
case'F':
case'G':
case'H':
case'J':
case'K':
case'L':
case'Z':
case'X':
case'C':
case'V':
case'B':
case'N':
case'M':
acount++;break;
case'1':
case'2':
case'3':
case'4':
case'5':
case'6':
case'7':
case'8':
case'9':
case'0':
bcount++;break;
case' ':
ccount++;break;
default:
dcount++;break;
}
a= getchar();
}
printf("字母数:%d\n空格数:%d\n数字数:%d\n其c语言中字母计数的函数他字符:%d\n",acount,ccount,bcount,dcount);
}
分组编写函数:
编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数c语言中字母计数的函数,并依次放在pp所指的数组中。
#includestdio.h
#includestring.h
void fun(char *tt,int pp[]);
void main()
{
char tt[50];
int pp[26]={0};
printf("Input a string:\n");
gets(tt);
fun(tt,pp);
}
void fun(char *tt,int pp[])
{
int i;
for(i=0;istrlen(tt);i++)
{
if(*(tt+i) = 'a' *(tt+i) = 'z')
pp[*(tt+i)-'a']++c语言中字母计数的函数;
}
for(i = 0;i 26;i++)
printf("%c appeared %d times\n",'a'+i,pp[i]);
}
Q3: c语言统计每个字母个数
思路:统计字母有两种方式:
1.每次输入一个字符,并判断是否是字母,直到回车退出。
//参考代码:
#include
int main()
{
char c;
int num=0;
while((c=getchar())!='\n')
{
if(('a'=cc='z')||('a'=cc='z'))
num++;
}
printf("%d",num);
return 0;
}
/*
运行结果:
adf adsfasdf
11
*/2.定义一个字符数组,一次输入,最后遍历该字符数组,统计字母个数。
//参考代码
#include
#include
int main()
{
char ch[100];
gets(ch);
int num=0,i;
for(i=0;i
评论
加载更多
Q4: c语言统计字母出现次数
看我旁边做的注解
cnt(s,array); /*调用子函数cnt,并传给参数s,
array。s是字符数组,相当于字符串指针;array是数组好理解*/
for(i=0;i26;i++)
printf("%d",array[i]);
/*
for循环
依次输出26个字母出现的次数。这里%d后面加个空格或逗号分隔才好
*/
printf("\n");
子函数
void
cnt(char
*p,int
arr[])
/*
第一个参数是字符串指针,第二个参数是整型数组
*/
{
int
i;
for(i=0;i26;i++) /*数组初始化*/
arr[i]=0;
/*
26个字母的个数全初始设置为0
*/
while(*p)
/*
循环,*p表示取指针p所指的字符,如果为0则表示字符串结束,退出循环
*/
{
if(*p='a'*p='z') /*数组元素判断*/
/*
判断是否是a到z的字母,若是才统计*/
arr[*p-'a']++; /*p与字母a的差值刚好就是数组arr下标*/
/*
字母a对应数组的下标是0,
b是1,依次类推
*/
p++;
/*
指针加1,
指向后面一个字符
*/
}
}
Q5: 急求!!c语言编写函数实现统计一个字符串中字母出现的次数。
#includestdio.h
#define N 100
void count(char str[],int times[]) //统计小写字符出现次数
{
int i;
for(i=0;str[i]!='\0';i++)
{
if(str[i]='a' str[i]'a'+26) //只统计小写字符
times[str[i]-97]++; //字符a的ascii码为97,str[i]-97正好将26个字母对应在times数组的26个位置上。
}
}
int main()
{
char str[N];
int i,times[26]; //time数组中每一个元素代表一个小写字符,其值代表字符的出现次数
for(i=0;i26;i++) //初始化,所有字符次数置0
times[i]=0;
scanf("%s",str); //读入字符串
count(str,times); //调用函数统计次数,让times装载统计结果
for(i=0;i26;i++) //输出结果,小写字符a的ascii码为97.
{
printf("%c\t%d\n",i+97,times[i]);
}
return 0;
}
c语言中字母计数的函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言求字母个数、c语言中字母计数的函数的信息别忘了在本站进行查找喔。








