c语言字母出现次数
㈠ 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语言一段文字共三行每行有100个字符求每个字母出现的次数
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
char str[3][100];
int i, j, count[26] = {0};
printf("输入文字:\n");
for (i = 0; i < 3; i++)
{
gets(str[i]);
}
for (i = 0; i < 3; i++)
{
for (j = 0; j < strlen(str[i]); j++)
{
if (isalpha(str[i][j]))
{
count[tolower(str[i][j]) - 'a']++;
}
}
}
printf("每个字母出现的次数:\n");
for (i = 0; i < 26; i++)
{
printf("%c : %d\n", 'a' + i, count[i]);
}
return 0;
}
输入一段文字,将它存储在一个字符数组str中。然后,我们遍历文字中的每个字符,如果遍历到的字符是字母,就将它的出现次数打印出来
㈢ C语言编程:输入一串字母,统计每个字母出现的次数
#include<stdio.h>
void
main()
{
char
ch;
//ch用来每次接收一个字符
int
i,s[26]={0};
//数组s[]用来统计每个小写字母的个数
printf("please
input
a
string:\n");
scanf("%c",&ch);
while(ch!='\n')
//输入一行字符,以回车键结束
{
if(ch>'A'&&ch<'Z')
//遇到大写字母时,转换成小写来处理
ch+=32;
s[ch-'a']++;
//0~25对应a~z
scanf("%c",&ch);
}
printf("\n");
for(i=0;i<26;i++)
if(s[i])
//只输出输入过的字母统计
printf("%c:%d\n",(char)(i+'a'),s[i]);
//(char)(i+'a')用强制类型转换,输出对应字母
}
㈣ C语言 编写程序,从键盘输入若干个英文字母,并统计各字母出现的次数
#include
#include
#define
max
100
int
main()
{
char
str[max];
//
输入的字符串,最大长度是max-1,因为有一个字符串结束符
int
i
=
0,
count[52]
=
{
0
};
//
count
数组用来存储各个字母出现的次数
scanf("%s",
str);
while(str[i]
!=
'\0')
{
if
(str[i]
>=
'a'
&&
str[i]
<=
'z')
{
//
统计小写字母
count[str[i]
-
97
+
26]++;
}
if
(str[i]
>=
'a'
&&
str[i]
<=
'z')
{
//
统计大写字母
count[str[i]
-
65]++;
}
i++;
}
for
(i
=
0;
i
<
26;
i++)
{
//
输出大写字母信息
if
(count[i]
!=
0)
printf("%c\t%d\n",
i
+
65,
count[i]);
//
只输出不为零的数据
}
for
(i
=
26;
i
<
52;
i++)
{
//
输出小写字母信息
if
(count[i]
!=
0)
printf("%c\t%d\n",
i
+
97
-
26,
count[i]);
}
return
0;
}
㈤ 编写一个C语言程序:从键盘读入一行文本,统计每个英文字母出现的次数
对于每个英文字母分别判断个数,并累计,最终输出即可。
一、算法:
1、循环读取字符,直到换行为止。对于每个字符,执行以下流程。
2、判断是否为英文字母,即小写和大写两种。
3、如果是英文字母,则统计个数。
输入部分,可以存为数组,也可以每输入一个字符计算一次。
二、参考代码:
#include<stdio.h>
intmain()
{
intc;
intcnt[52]={0};
while((c=getchar())!=' ')//读取每个字符,直到遇到换行为止。
{
if(c>='A'&&c<='Z')//大写
cnt[c-'A']++;//统计。
elseif(c>='a'&&c<='z')//小写
cnt[c-'a'+26]++;//统计。
}
for(c=0;c<26;c++)//输出大写字母统计结果。
if(cnt[c]!=0)printf("%c:%d ",c+'A',cnt[c]);
for(c=26;c<52;c++)//输出大写字母统计结果。
if(cnt[c]!=0)printf("%c:%d ",c-26+'a',cnt[c]);
return0;
}
㈥ 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语言编程:输入一串字母,统计每个字母出现的次数
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;
}
(7)c语言字母出现次数扩展阅读:
程序思路:
分为三部分 首先输入字符串 ,其次设定一个字符数组英文小写字母24, 同时设一个int数组 记录个数, 以及一个int c 为了给int数组赋值。最后在输入的时候进行判断,如果字母的值 大于等于1才输出。
㈧ 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语言编程:输入一串英文字母,统计每个字母(不区分大小写)出现的次数
#include<iostream>
#include<string>
using namespace std;
int main()
{
char str[50];
int n=0;
char *p;
p=str;
cout<<"请输入字符串:"<<endl;
cin>>str;
for(int i=0;*p!='