首页 > 代码库 > 华为初级——字符个数统计(三种情况)
华为初级——字符个数统计(三种情况)
第一种情况:
描述:写出一个程序,接受一个有字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。知识点:字符串,函数,指针题目来源:内部整理 练习阶段:初级 运行时间限制:10Sec 内存限制:128MByte 输入:输入一个有字母和数字组成的字符串,和一个字符。 输出:输出输入字符串中含有该字符的个数。 样例输入:ABCDEFA 样例输出: 1源程序:
#include<iostream> using namespace std; #define MAXSIZE 100 int main() { char c[MAXSIZE]; char ch; int getCharCount(char c[],char ch); gets(c); ch=getchar(); int count; count=getCharCount(c,ch); cout<<count<<endl; return 0; } int getCharCount(char c[],char ch) { int i=0; char *p; char chx; p=c; while(*p!=‘\0‘) { if(ch>=‘A‘&&ch<=‘Z‘)//不区分大写小写 chx=ch+32; else chx=ch-32; if(*p==ch||*p==chx) i++; p++; } return i; }运行结果:
第二种情况:
描述:编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。知识点:字符串,函数,指针 题目来源:内部整理 练习阶段:初级 运行时间限制:10Sec 内存限制:128MByte 输入:输入N个字符,字符在ACSII码范围内(0~127)。 输出:输出字符的个数。 样例输入:abc 样例输出:3源程序:
#include<iostream> using namespace std; #define MAXSIZE 100 int main() { char c[MAXSIZE]; int getCharCount(char c[]); gets(c); int count; count=getCharCount(c); cout<<count<<endl; return 0; } int getCharCount(char c[]) { char b[MAXSIZE],k=0; int i=0,j=0; b[0]=c[0];//把新字符存入另一个数组中。 int flag; for(i=1;c[i]!=‘\0‘;i++) { flag=1;//标识 for(k=0;k<j+1;k++)//j为b数组的下标,j+1就是b数组的长度。 { if(c[i]==b[k])flag=0;//flag为标识,若当前字符已存在于b数组,则flag=0; } if(flag)//当前字符c[i]不存在与b数组,就把c[i]存入b数组中。 { j=j+1; b[j]=c[i]; } } return j+1; }运行结果:
第三种情况:
描述:输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。/** * 统计出英文字母字符的个数。 * * @param str 需要输入的字符串 * @return 英文字母的个数 */ public static int getEnglishCharCount(String str) { return 0; } /** * 统计出空格字符的个数。 * * @param str 需要输入的字符串 * @return 空格的个数 */ public static int getBlankCharCount(String str) { return 0; } /** * 统计出数字字符的个数。 * * @param str 需要输入的字符串 * @return 英文字母的个数 */ public static int getNumberCharCount(String str) { return 0; } /** * 统计出其它字符的个数。 * * @param str 需要输入的字符串 * @return 英文字母的个数 */ public static int getOtherCharCount(String str) { return 0; } 知识点:字符串 题目来源:内部整理 练习阶段:初级 运行时间限制: 10Sec 内存限制:128MByte 输入:输入一行字符串,可以有空格 输出:统计其中英文字符,空格字符,数字字符,其他字符的个数 样例输入:1qazxsw23 edcvfr45tgbn hy67uj m,ki89ol.\\/;0-=\\][ 样例输出: 2631012源程序:
#include<iostream> #include<cstring> using namespace std; #define MAXSIZE 100 int main() { int getEnglishCharCount(string str); int getBlankCharCount(string str); int getNumberCharCount(string str); int getOtherCharCount(string str); char str[MAXSIZE]; gets(str); int Eng_count,Bla_count,Num_count,Oth_count; Eng_count=getEnglishCharCount(str); Bla_count=getBlankCharCount(str); Num_count=getNumberCharCount(str); Oth_count=getOtherCharCount(str); cout<<Eng_count<<endl; cout<<Bla_count<<endl; cout<<Num_count<<endl; cout<<Oth_count<<endl; return 0; } int getEnglishCharCount(string str) { int i=0,engcount=0; while(str[i]!=‘\0‘) { if((str[i]>=‘A‘&&str[i]<=‘Z‘)||(str[i]>=‘a‘&&str[i]<=‘z‘)) engcount++; i++; } return engcount; } int getBlankCharCount(string str) { int i=0,blacount=0; while(str[i]!=‘\0‘) { if((str[i]==‘ ‘)) blacount++; i++; } return blacount; } int getNumberCharCount(string str) { int i=0,numcount=0; while(str[i]!=‘\0‘) { if(str[i]>=‘0‘&&str[i]<=‘9‘) numcount++; i++; } return numcount; } int getOtherCharCount(string str) { int i=0; int e,b,n; int othcount; e=getEnglishCharCount(str); b=getBlankCharCount(str); n=getNumberCharCount(str); while(str[i]!=‘\0‘) i++; othcount=i-e-b-n; return othcount; }运行结果:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。