C++第16周项目1(1)统计字符串/字符数组

来源:互联网 发布:在线浏览器代理软件 编辑:程序博客网 时间:2024/04/30 14:00

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565


题目

【项目1-小心地放开玩字符串/字符数组】

(1)读程序,请分析其实现的功能
[cpp] view plaincopyprint?
  1. #include<iostream>  
  2. using namespace std;  
  3. int main()  
  4. {  
  5.   char str[50];  
  6.   int i=0,n=0;  
  7.   cout<<"输入字符串:";  
  8.   gets(str);  
  9.   while(str[i]!='\0')  
  10.   {    
  11.     if(str[i]>='0'&&str[i]<='9') n++;  
  12.     i++;  
  13.   }  
  14.   cout<<"其中的数字个数是: "<<n<<endl;  
  15.   return 0;  
  16. }  
请自选下面有关字符串中字符统计的任务,完成两个即可。
  • 统计字母'A'(空格)出现的次数;
  • 统计字符串中(大/小写)字母个数;
  • 统计每一个数字字符出现的次数(提示:笨办法,设十个变量,例a0,a1,...,a9分别保存个数;显示学过数组的办法,设数组a[10],a[0]代表'0'出现的个数,当str[i]为'0'时,a[str[i]-48]++);
  • 统计每一个字母出现的个数(提示:没有必要设26个或52个变量)

参考解答

统计字母'A'(空格)出现的次数

#include<iostream>using namespace std;int main(){char str[50];int i=0,n=0;cout<<"输入字符串:";gets(str);while(str[i]!='\0'){  if(str[i]=='A') n++;i++;}cout<<"其中A出现的次数是: "<<n<<endl;return 0;}

统计字符串中(大/小写)字母个数

#include<iostream>using namespace std;int main(){char str[50]={"Asdw08jsdAHJTf67N"};int i=0,n=0;//cout<<"输入字符串:";//gets(str);while(str[i]!='\0'){  if(str[i]>='A'&&str[i]<='Z')//改变条件可以求小写字母,或所有字母出现的次数 n++;i++;}cout<<"其中大写字母出现的次数是: "<<n<<endl;return 0;}

统计每一个数字字符出现的次数

(提示:笨办法,设十个变量,例a0,a1,...,a9分别保存个数;显示学过数组的办法,设数组a[10],a[0]代表'0'出现的个数,当str[i]为'0'时,a[str[i]-48]++);

#include<iostream>using namespace std;int main(){char str[50]={"Tel:18363803401, QQ:90878965"};int i,a[10]={0}; //a[0]代表'0'出现的个数……,初值全为0for(i=0;str[i]!='\0';++i)  //换种循环,这不是关键{  if(str[i]>='0'&&str[i]<='9')a[str[i]-'0']++;   //若str[i]为'0',a[0]将增加;也可以写作a[str[i]-48]++}cout<<"\""<<str<<"\" 中各数字出现的次数是: "<<endl;for(i=0;i<9;++i)cout<<"\'"<<i<<"\'---"<<a[i]<<endl;return 0;}


统计每一个字母出现的个数(提示:没有必要设26个或52个变量)

统计52个变量,设置两个数组upper[26]和lower[26],分别存储每一个大写和小写字母出现的个数。其余类似上面的程序……(不能再写参考解答了,否则高手们又要拍砖了,看到这里,还指望参考,也真说不下去了)





原创粉丝点击