前言:本学期写的内容可能有一些问题,今后可能会再发一份改良版
正文:
Q:具有字符串处理能力的计算机的应用导致出现了一些相当有趣的分析大作家作品的方法。例如,大作家莎士比亚是否真的存在就是人们普遍关心的问题。一些学者找到的证据表明Christipher Marlowe确实写过一些被认为是莎士比亚写的文稿。研究人员已经用计算机找到了这两位作家作品中的类似之处。本练习将考察一种用计算机分析文本的方法。请编写一个程序读入一个有若干行的文本,然后打印出字母表中每一个字母在这个文本中出现的次数。例如下面这个短语:To be, or not to be: that is the question:包含1个字符’a’, 2个字符’b’,0个字符’c’,…
源代码:
#include<stdio.h>
#include<string.h>
int main(void){
int count[123]={0};
char string[100];
int i, x,y,z;
printf("请确定要输入的文本行数:");
scanf("%d", &x);
for (y = x; y>0; y--){
printf("请输入一行文本:");
scanf("%s", &string);
z = 0;
while (string[z]){
if (string[z] >= 'A' && string[z] <= 'Z'){
i = string[z]+32;
count[i]++;
}
if (string[z] >= 'a' && string[z] <= 'z'){
i = string[z] ;
count[i]++;
}
z++;
}
}
for (i = 97; i < 123; i++){
printf("%c:%d", i, count[i]);
}
}