课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565
题目
【项目1-小心地放开玩字符串/字符数组】
(1)读程序,请分析其实现的功能- #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]>='0'&&str[i]<='9') n++;
- i++;
- }
- cout<<"其中的数字个数是: "<<n<<endl;
- return 0;
- }
- 统计字母'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'出现的个数……,初值全为0 for(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],分别存储每一个大写和小写字母出现的个数。其余类似上面的程序……(不能再写参考解答了,否则高手们又要拍砖了,看到这里,还指望参考,也真说不下去了)