编写一个C语言程序:从键盘读入一行文本,统计每个英文字母出现的次数

作者&投稿:呈逃 (若有异议请与网页底部的电邮联系)
C语言题目,从键盘输入一行文本,统计其中每个英文字母出现的频率~

1、新建一个工程和.c文件 ,输入头文件和主函数。

2、定义 变量类型,输入数字。

3、用while语句判断数字是否在1到4范围内。

4、调用函数。

5、用一个for语句输出。

6、编译、运行 ,得到最后的结果。

给你说一个大概思路
把读出来的字符串逐个字母进行判断,记录当前判断字母为ch
i = 把字符转化为整型数(对应的ASCII:0—48,a—97,A—65)具体算法自己想想
然后letter[i]++
最后输出就行了

对于每个英文字母分别判断个数,并累计,最终输出即可。

一、算法:

1、循环读取字符,直到换行为止。对于每个字符,执行以下流程。

2、判断是否为英文字母,即小写和大写两种。

3、如果是英文字母,则统计个数。

输入部分,可以存为数组,也可以每输入一个字符计算一次。

二、参考代码:

#include <stdio.h>
int main()
{
    int c;
    int cnt[52]={0};
    while((c=getchar())!='
')//读取每个字符,直到遇到换行为止。
    {
        if(c>='A'&&c<='Z')//大写
            cnt[c-'A'] ++;//统计。
        else if(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]);
    return 0;
}


#include <stdio.h>
int main(void)
{int i;
char j;
char a;
int b[26]={0};
while ((a = getchar()) != '\n')
{
for (j='A';j<='Z';++j)
{
if (a == j || a == j+('a'-'A'))
{
b[j-'A']++;
}
}
}
for (i=0;i<26;++i)
{
if (b[i] == 0)
{
continue;
}
else
{
printf("'%c':%d\n",i+'A',b[i]);
}
}
printf("\n");
}

#include <stdio.h>
#include <stdlib.h>

#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语言写一个程序输入班级学号的内容?
下面是一个用C语言编写的程序,可以输入班级和学号的内容,并打印出来:c include <stdio.h> int main() { char class[20]; \/\/ 定义班级字符串,长度为20 int number; \/\/ 定义学号整数 printf("请输入班级:");scanf("%s", class); \/\/ 输入班级字符串 printf("请输入学号:");scanf("%d...

如何使用Visual Studio 2010编写一个C语言程序
双击打开Vs 2010 找到左上角的新建项目并点击打开,选择win32控制台程序,给文件命名,如123,单击确定 点击下一步,注意,此时出现的对话框一定要把空项目前面给勾上,单击下一步,单击完成 点击源文件,右击弹出选项,鼠标移动到添加,找到项目,单击进行添加。找到C++文件,单击并命名为123.c,因为是...

c语言编程代码
i<3;i++)for(j=0;j<10;j++)if(p[i][j]=='a')printf("发现:第%d行第%d个元素是‘a’,已替换\\n",i+1,j+1),p[i][j]='1';} void show(char (*p)[10]){ int i,j;for(i=0;i<3;i++,printf("\\n"))for(j=0;j<10;j++)printf("%c ",p[i][j]);} ...

C语言编写程序,把从键盘输入的一个字符串的小写字母转换成大写字母,大 ...
include "stdio.h"int main(){ char ch[100]={0};int i;printf("请输入一个字符串:");gets(ch);for(i=0;ch[i]!='\\0';i++)if(ch[i]>='a' && ch[i]<='z')ch[i]+='A'-'a';else if(ch[i]>='A' && ch[i]<='Z')ch[i]+='a'-'A';printf("字符串的小写...

用C语言编写一个简单程序,有哪些步骤,可以举一个例子详细讲解下吗?_百 ...
\/\/先使用编辑工具如windows的记事本或vc++环境,或linux的vim编辑器创建一个hello.c文件 \/\/打开文件后,如下 步骤写程序 include <stdio.h>\/\/首先要引入c语言的标准输入输出库文件,因为这个文件里有已经定义好的可以使用的函数 \/\/接下来需要写一个main函数,这也是c语言程序里必不可少的一个函数,...

求编一个c语言程序,判断幸运数
include "stdio.h"int main(int argc,char *argv[]){int n,i,j;printf("Please enter a positive integer...\\n");scanf("%d",&n);for(i=n,j=0;i;(j*=10)+=i%10,i\/=10);printf(j==n ? "Yes\\n" : "No\\n");return 0;}运行样例:

用C语言编写一个程序输出3到100间的素数
2013-04-27 编写一个程序,输出3~100之间的全部素数。 7 2013-04-18 C语言求解!3. 编写一个程序,输出100到500之间的所有... 3 2013-05-14 写一个C语言程序,输出3~100之间的全部素数,每行显示6个... 2012-06-25 c语言:请编程统计3到100之间所有素数的和,并输出。 1 2011-04-24 C语言编程:...

C语言程序设计 求一个四位数的各位数字的立方和
include<stdio.h> void main(){ long int b,c,d,e,x;printf("请输入任意一个正整数\\n");scanf("%ld",&x);b=x%10000\/1000; \/*分解出千位*\/ c=x%1000\/100; \/*分解出百位*\/ d=x%100\/10; \/*分解出十位*\/ e=x%10; \/*分解出个位*\/ printf("四位数的立方和为:%ld\\n",(b...

用C语言编写一个简单程序,有哪些步骤,可以举一个例子详细讲解下吗?_百 ...
include<stdio> \/\/这个是头文件 也是 C语言里面最常用的头文件之一 int main()\/\/这个是主函数 也就是程序的入口 你写的程序就是从这里开始的 { \/\/这个 { }表示里面的范围 是必须的 跟main 主函数是不可分的 int a=2; \/\/这里表示有一个 int型的数据a(int型就是整数...

用C语言编写一个矩阵转置的函数,矩阵的行数和列数在程序中由用户输入...
我的代码逻辑是:矩阵行指针初值指向每行首地址,迭代依次取所有行指针指向值组成新行,所有行指针自增。最终组合新的矩阵。include <stdio.h>#include <malloc.h>int **getList(int row,int clo);\/\/获取矩阵地址空间void setNum(int **nList,int n);\/\/填写数值void prtList(int **nList,int ...

阳明区15564463400: 编写一个C语言程序:从键盘读入一行文本,统计每个英文字母出现的次数. -
晏袁平阳: #include <stdio.h> #include <stdlib.h>#define MAX 100int main() {char str[MAX]; // 输入的字符串,最大长度是MAX-1,因为有一个字符串结束符int i = 0, count[52] = { 0 }; // count 数组用来存储各个字母出现的次数scanf("%s", str);while(...

阳明区15564463400: C语言编程,怎么从键盘输入一行字符,要求少于20个 -
晏袁平阳: #include int main() { int c[20]; printf("Please enter a character:"); while((c[20]=getchar())!='#')/*这里用c[20]等于将输入的字符直接赋值给下标为20的哪个数组元素也就是说你的C[0]到c[19]都没赋值,而且你要输入的是20个元素而c[20]是第21...

阳明区15564463400: 用C语言写程序:从键盘输入一行文字,统计出该行字符中大写字母,小写字母,空格等的个数.要求用到指针. -
晏袁平阳: char c[80],m; gets(c); int *p; int num=0,i; p=&num; for(i=0;(m=c[i])!=0;i++) {if(c[i]>='A'&&c[i]<='Z') num++;} 这个只能统计出 大写字母个数 楼主 看着在IF下边加两行就行了

阳明区15564463400: 编写C程序:从键盘输入一行字符,将输入中的小写字符替换为相应的大写字符后回显. -
晏袁平阳: #include void main() { char c; printf("请输入一段字符串:\n"); while((c=getchar())!='\n') { if(c>='a'&&c putchar(c-'a'+'A'); } }

阳明区15564463400: 编写c语言程序,对于从键盘上输入的一行字符,该程序能将其依次显示在屏幕上. -
晏袁平阳: 1 2 3 4 5 6 7 8#include <stdio.h> #include <string.h> intmain(){chars[100];gets(s);printf("%s",s);return0; }

阳明区15564463400: 一个c语言问题,编写一个函数,从键盘输入一行字符,将此字符串中最长和最短的单词输出 -
晏袁平阳://#include "stdafx.h"//vc++6.0加上这一行. #include "stdio.h" #include "string.h" int main(void){char str[100][21];int i,j,lmax,lmin,ln,imax,imin;printf("Type a line text( # end)...\nstr=");for(i=0;i<100;i++)if(scanf("%s",str[i]),str[i]...

阳明区15564463400: 设计一个函数,从键盘读入一行字符,返回最长单词的长度,同时输出该单词的位置. -
晏袁平阳: //输入 li lee 开始位置是 3(下标从0开始) ,最长 3#include <stdio.h>#include <string.h>#include <stdlib.h> void main() { char buf[1024]; int pos,maxlen,curpos,curlen,strLen,i; printf("please input a string\n"); gets(buf); strLen = strlen(buf); pos = 0;...

阳明区15564463400: C语言怎么实现 由键盘输入一行字符,将其中每个数字字符所代表的数值累加起来,输出结果. -
晏袁平阳: #include <stdio.h> #include <conio.h> void main(void) {char ch;int sum = 0;while((ch=getche())!='\r')//按下回车键,退出读入,并输出结果{if (ch>='0'&&ch<='9'){sum += ch - '0';}}printf("\n%d\n",sum); }

阳明区15564463400: 一道c语题,用基础方法就好,不要太高深编写一个程序,完成以下功能:从键盘输入一行英文句子,输出到屏幕上,并将每个单词的首字符改写成大写字母... -
晏袁平阳:[答案] 回答: int main() { char str[512] = {'\0'}; char *p; gets(str); p =str; if (*p >= 97 && *p

阳明区15564463400: 如何编一个C语言程序 使得读到键盘上输入的字符并打出它的字符类型 -
晏袁平阳: SCANF()或者gets() 输出字符类型printf()配合SIZEOF()两函数使用

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网