本帖最后由 斑马 于 2014-6-23 09:31 编辑
- </blockquote></div><div><div class="blockcode"><blockquote>#include <stdio.h>
- #include <string.h>
- int main()
- {
- char str[]=""; //定义一个字符串
- printf("请输入任意字符串:\n"); //提示用户输入
- scanf("%s",str); //接收字符串
- int A,B,C,D;
- A = 0; B = 0; C = 0; D = 0; //A,B,C,D的值初始化
-
- for (int i = 0; i<strlen(str); i++) { //遍历整个字符串
- if (str[i] == 65) { //判断str[i]是否是A所对应的ASCII值
- A++; //如果是A的值加1
- }
- if (str[i] == 66) { //B,C,D以此类推
- B++;
- }
- if (str[i] == 67) {
- C++;
- }
- if (str[i] == 68) {
- D++;
- }
-
- }
-
- printf("A出现%d次\nB出现%d次\nC出现%d次\nD出现%d次\n",A,B,C,D);
- return 0;
-
- }
复制代码
需求是:从键盘输入一大堆字符串,统计A、B、C、D的出现次数,最后出现次数由高到低输出字母和出现次数。
现在只做到了,计算字母出现的次数,排序问题还没解决,另外我觉得计算字母次数的代码好像有点冗余,是不是还可以再精简一点?
求大神斧正.
|
|