当前位置:首页 » 编程语言 » 用c语言数组实现统计字母的个数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

用c语言数组实现统计字母的个数

发布时间: 2022-11-05 16:15:29

c语言输入一行字符串,如何统计其中的字母和数字的个数

要统计英文字母,空格,数字和其他字符的个数,代码如下:

#include<stdio.h>

#include<stdlib.h>

int main()

{

char c;

int letters=0;

int space=0;

int digit=0;

int other=0;

printf("请输入一行字符:>");

while((c=getchar())!=' ')

{

if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))

{

letters++;

}

else if(''==c)

{

space++;

}

else if(c>='0'&&c<='9')

{

digit++;

}

else

{

other++;

}

}

printf("字母的个数:>%d 空格的个数:>%d

数字的个数:>%d 其他字符的个数:>%d ",

letters,space,digit,other);

system("pause");

return 0;

}

(1)用c语言数组实现统计字母的个数扩展阅读:

include用法:

#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

插入头文件的内容

#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

1、#include<文件名>

2、#include"文件名"

如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:

#include<math.h>//一些数学函数的原型,以及相关的类型和宏

如果需要包含针对程序所开发的源文件,则应该使用第二种格式。

采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。如下例所示:

#include"myproject.h"//用在当前项目中的函数原型、类型定义和宏

你可以在#include命令中使用宏。如果使用宏,该宏的取代结果必须确保生成正确的#include命令。例1展示了这样的#include命令。

【例1】在#include命令中的宏

#ifdef _DEBUG_

#define MY_HEADER"myProject_dbg.h"

#else

#define MY_HEADER"myProject.h"

#endif

#include MY_HEADER

当上述程序代码进入预处理时,如果_DEBUG_宏已被定义,那么预处理器会插入myProject_dbg.h的内容;如果还没定义,则插入myProject.h的内容。

❷ c语言统计字母出现次数

看我旁边做的注解

cnt(s,array); /*调用子函数cnt,并传给参数s,
array。s是字符数组,相当于字符串指针;array是数组好理解*/
for(i=0;i<26;i++)
printf("%d",array[i]);
/*
for循环
依次输出26个字母出现的次数。这里%d后面加个空格或逗号分隔才好
*/
printf("\n");

子函数
void
cnt(char
*p,int
arr[])
/*
第一个参数是字符串指针,第二个参数是整型数组
*/
{
int
i;
for(i=0;i<26;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,
指向后面一个字符
*/
}
}

❸ C语言统计字母个数问题

思路:统计字母有两种方式:

1.每次输入一个字符,并判断是否是字母,直到回车退出。

//参考代码:
#include<stdio.h>
intmain()
{
charc;
intnum=0;
while((c=getchar())!=' ')
{
if(('A'<=c&&c<='Z')||('a'<=c&&c<='z'))
num++;
}
printf("%d",num);
return0;
}
/*
运行结果:
adfadsfasdf
11
*/

2.定义一个字符数组,一次输入,最后遍历该字符数组,统计字母个数。

//参考代码
#include<stdio.h>
#include<string.h>
intmain()
{
charch[100];
gets(ch);
intnum=0,i;
for(i=0;i<strlen(ch);i++)
if(('A'<=ch[i]&&ch[i]<='Z')||('a'<=ch[i]&&ch[i]<='z'))
num++;
printf("%d",num);
return0;
}
/*
运行结果:
adfadsfasdf
11
*/

❹ C语言题目(数组部分):输入一行字符,统计其中大写字母、小写字母、数字及其他字符的个数。怎么编写

#include<stdio.h>{

void counter(char*);

int n,i;

char array[100];

printf("enterastring:");

gets(array);

counter(array);

return0;

void counter(char*p){

int i,n,numUpperCase=0,numLowerCase=0,numSpace=0,numOther=0;

n=strlen(p);

for(i=0;i<n;i++){

if(*(p+i)>='A'&&*(p+i)<='Z')

numUpperCase++;

if(*(p+i)>='a'&&*(p+i)<='z')

numLowerCase++;

if(*(p+i)=='')

numSpace++;

else

numOther++;

printf("大写字母%d\n小写字母%d\n其他%d\n",numLowerCase,numLowerCase,numSpace,numOther);

(4)用c语言数组实现统计字母的个数扩展阅读:

include用法:

#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

插入头文件的内容

#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

1、#include<文件名>

2、#include"文件名"

❺ c语言中怎样统计字符串中包含英文字母的个数

c语言中要统计字符串中包含英文字母的个数可以参考以下内容:

main()

{

char str[100],*p;

int num[4],i;

p=str;

gets(str);

for(i=0;i<4;i++)

num[i]=0;

for(;*p!='';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 ",num[0],num[1],num[2],num[3]);

}

(5)用c语言数组实现统计字母的个数扩展阅读:

在写代码的过程中需要注意:

void main()的用法并不是任何标准制定的。 C语言标准语法是int main,任何实现都必须支持int main(void) { /* ... */ }和int main(int argc, char* argv[]) { /* ... */ }。

类似于a+=a++;或者(i++)+(i++)+(i++)属于未定义行为,并不是说c语言中还未定义这种行为,它早有定论,它的结果取决于编译器实现,不要写这样的代码。

❻ C语言编程:输入一串字母,统计每个字母出现的次数

C语言程序如下:

#include<stdio.h>

int main()

{

char a[100];

char b[24];

int s[100] = { 0 };//用于存储字符的个数

gets(a);//输入字符

//开始比较

for (int x = 0; x < 24; x++)

{

int c = 0;//记录每个字符个数

b[x] = x + 97;//为了让b[0]是a,b[1]是b依次类推

for (int i = 0; i < 100; i++)

{

if (b[x] == a[i])

{

++c;

s[x] = c;

}

}

if (s[x]>=1)//只输出输入中有的字母 的个数

{

printf("%c %d ", b[x], s[x]);

}

}

getchar();

return 0;

}

(6)用c语言数组实现统计字母的个数扩展阅读:

程序思路:
分为三部分 首先输入字符串 ,其次设定一个字符数组英文小写字母24, 同时设一个int数组 记录个数, 以及一个int c 为了给int数组赋值。最后在输入的时候进行判断,如果字母的值 大于等于1才输出。

❼ C语言 数组 统计英文字母个数

你好像没有对字母排序。试试这个,比你的简单,设一个26位的数组,扫描一遍字符串,是第几位英文字母,就在数组的第几号元素加1。最后输出数组非0元素就行了。
#include <stdio.h>
void main()
{
int a[26]={0},i;
char x[50],*p=x;
bool flag=true;
gets(x);
while(*p)

{
if(*p>='a' && *p<='z')
a[*p-'a']++;
if(*p>='A' && *p<='Z')
a[*p-'A']++;
p++;
}
for(i=0;i<26;i++)
{
if(a[i])
{
if(flag)
{
printf("%d",a[i]);
flag=false;
}
else
printf(" %d",a[i]);
}
}
printf("\n");
}

❽ C语言统计二维字符数组里的字母个数怎么做

#include<stdio.h>
intfun(charar[4][6],charc)
{
intcount=0,i,j;
for(i=0;i<4;++i)
for(j=0;j<6;++j)
if(ar[i][j]==c)
++count;
returncount;
}
intmain()
{
charc,a[4][6];
inti;
printf("输入4行字符串到数组中: ");
for(i=0;i<4;i++)
gets(a[i]);
printf("输入要统计的字符: ");
scanf("%c",&c);
printf("字符数:%d ",fun(a,c));
return0;
}

❾ c语言统计字符串中字母个数是多少

可以使用以下代码进行统计:

#include

main()

{undefined

intacount=0,bcount=0,ccount=0,dcount=0;

chara;

printf("请输入一行字符: ");

a=getchar();

while(a!=' ')

{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 空格数:%d 数字数:%d 其他字符:%d ",acount,ccount,bcount,dcount);

}

分组编写函数:

编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。

#include<stdio.h>

#include<string.h>

void fun(char *tt,int pp[]);

void main()

{

char tt[50];

int pp[26]={0};

printf("Input a string: ");

gets(tt);

fun(tt,pp);

}

void fun(char *tt,int pp[])

{

int i;

for(i=0;i<strlen(tt);i++)

{

if(*(tt+i) >= 'a' && *(tt+i) <= 'z')

pp[*(tt+i)-'a']++;

}

for(i = 0;i < 26;i++)

printf("%c appeared %d times ",'a'+i,pp[i]);

}

❿ C语言统计字母个数问题

思路:统计字母有两种方式:
1.每次输入一个字符,并判断是否是字母,直到回车退出。
//参考代码:
#include<stdio.h>
int main()
{
char c;
int num=0;
while((c=getchar())!='\n')
{
if(('A'<=c&&c<='Z')||('a'<=c&&c<='z'))
num++;
}
printf("%d",num);
return 0;
}
/*
运行结果:
adf adsfasdf
11
*/
2.定义一个字符数组,一次输入,最后遍历该字符数组,统计字母个数。
//参考代码
#include<stdio.h>
#include<string.h>
int main()
{
char ch[100];
gets(ch);
int num=0,i;
for(i=0;i<strlen(ch);i++)
if(('A'<=ch[i]&&ch[i]<='Z')||('a'<=ch[i]&&ch[i]<='z'))
num++;
printf("%d",num);
return 0;
}
/*
运行结果:
adf adsfasdf
11
*/