C语言:从键盘输入一篇英文文本,统计每个英文字母(分大小写)及空格、数字、回车和其他字符,咋编?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言:从键盘输入一篇英文文本,统计每个英文字母(分大小写)及空格、数字、回车和其他字符,咋编?相关的知识,希望对你有一定的参考价值。
要求:
1)输入长短无限制,可有多行,以EOF结束。
2)输出格式为每一项目一行,如A:7,Space: 10等。
3)先输出数字,再输出大写字母,接着输出小写字母,最后输出空格、回车和其他字符。
程序代码:
#include <stdio.h>
#include <string.h>
#define MAX 10000
void input(char source[]);
void output(int sign[], int n);
void main()
char source[MAX];
int sign[256];
int i;
input(source);
for(i=0; i<256; i++)
sign[i] = 0;
//统计字符串中每个字符的数量
for(i=0; i<strlen(source); i++)
sign[source[i]]++;
output(sign, 256);
void input(char source[])
int i;
printf("input a string(end of EOF) : ");
for(i=0; i<MAX-1 && (source[i]=getchar())!=EOF; i++);
source[i] = \'\\0\';
void output(int sign[], int n)
int i;
//输出数字
for(i=\'0\'; i<\'0\'+10; i++)
printf("%c : %d\\n", (char) i, sign[i]);
//输出大写字母
for(i=\'A\'; i<\'A\'+26; i++)
printf("%c : %d\\n", (char) i, sign[i]);
//输出小写字母
for(i=\'a\'; i<\'a\'+26; i++)
printf("%c : %d\\n", (char) i, sign[i]);
//输出空格
i = 32;
printf("Space : %d\\n", sign[i]);
//输出回车
i = 10;
printf("Enter : %d\\n", sign[i]);
//输出其他字符
for(i=0; i<256; i++)
if(!(i>=\'0\' && i<=\'9\') && !(i>=\'A\' && i<=\'Z\') && !(i>=\'a\' && i<=\'z\') && i!=32 && i!=13)
printf("%c : %d\\n", (char) i, sign[i]);
运行测试:
参考技术A代码文本:
#include "stdio.h"
int main(int argc,char *argv[])
int s[128],i,t;
for(i=0;i<128;s[i++]=0);
printf("Please enter a text...\\n");
while((i=getchar())!=EOF)
s[i]++;
for(t=i=0;i<128;i++)
if(s[i])
if(i>='a' && i<='z' || i>='A' && i<='Z' || i>='0' && i<='9')
printf("%c:\\t%d\\n",i,s[i]);
else if(s[i]!=' ' && s[i]!='\\n')
t++;
printf("Space:\\t%d\\n",s[' ']);
printf("Enter:\\t%d\\n",s['\\n']);
if(t)
printf("Other:\\t%d\\n",t);
return 0;
本回答被提问者采纳 参考技术B 可以用一个单重的循环实现,每次读入一个字符,再按字符的特征进行分类的统计计数。到最后,按规定的顺序输出各类字符的读数值。 参考技术C 从键盘输入一篇英文文本统计,每个英文字母分为大小写,空阔个数字。 参考技术D 键盘输入字符串,一旦回车,就输入结束了。输入语句,也就结束了。
那么,每输入一行,只有一个回车,也必须有一个。
要求输入多行,就得执行多次输入语句。
最后,输入一个空白的行,仅有回车,结束全部输入。
以上是关于C语言:从键盘输入一篇英文文本,统计每个英文字母(分大小写)及空格、数字、回车和其他字符,咋编?的主要内容,如果未能解决你的问题,请参考以下文章
怎么用c语言编写程序:用户从键盘输入一行字符,分别统计其中的英文字母,空格,数字占字符总数的百分比
C语言,输入一行英文字母,统计其中有多少个单词,单词之间用空格分隔.
Python中如何从键盘中输入字符串,统计字母,数字,符号和空格的个数?