当前位置:首页 > 正文

怎样统计字符串中各字母的个数?

作者:紫南发布时间:2023-02-16浏览:464


这个有点困难哦,主要是问题很简单啦.要case 26次就行了.想了一下,要CASE来解决的话,要26个大写与26个小写,共52个CASE.下面是用指针来操作,在VC6里面测试可以通过.#include<iostream.h>#include <string.h>#include <stdio.h> const int N=50;void main(){ char array[N],*p; int i,letter[52]={0},*pw;//52个存储大写与小写字母 cout<<"Input a string:"<<endl; p=gets(array);pw=letter;//1 for(;(p-array)<int(strlen(array));pw=letter,p++)//2 if(*p>='a'&&*p<='z') (*(pw+*p-'a'))++; else if(*p>='A'&&*p<='Z') (*(pw+26+*p-'A'))++; for(i=0;i<52;i++)//这里输出letter[0]-letter[51],大于零个的就输出 if(i<26&&letter[i]>0) cout<<"small letter: "<<char(i+'a')<<"="<<letter[i]<<endl; else if(letter[i]>0) cout<<"Strong letter: "<<char(i+'A'-26)<<"="<<letter[i]<<endl;}//1 //2是指指针从array[0]到涉猎字符串尾大写与小写的统计.加A减26等是跟据字符在ASCII中的值来计算的.数据的跨越幅度很大,指针遍历也很多不知道这样解释能不能看得懂.


声明:部分资源转载自互联网,转载目的在于传递更多知识,并不代表本网赞同其观点和对其真实性负责。如有侵权或者知识有谬误之处,麻烦通知删除,谢谢!联系方式: zzsla2022#163.com