- 一、题目
- 1.题目描述
- 二、解题报告
- 1.思路分析
- 2.代码详解
- 3.注意事项C++
题目:统计每个元音字母在字符串中出现的次数
输入:输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串
输出:
二、解题报告 1.思路分析示例 :
- 循环进行通过switch匹配计数
C++
#include3.注意事项C++using namespace std; int main(){ int m; char s[1000]; scanf("%d",&m); gets(s); for (int t=0;t gets(s); int k=0; int a,e,i,o,u; a=0; e=0; i=0; o=0; u=0; while (s[k]!=' '){ switch(s[k]){ case 'a': a++; break; case 'e': e++; break; case 'i': i++; break; case 'o': o++; break; case 'u': u++; break; default: break; } // cout< printf("a:%dne:%dni:%dno:%dnu:%dnn",a,e,i,o,u) ; }else{ printf("a:%dne:%dni:%dno:%dnu:%dn",a,e,i,o,u) ; } } }
- 输入测试是字符串,而且输入是带有空格的句子
要用C++的内置函数gets()进行输入,gets()可以无限读取,以回车结束读取。这里如果还用scanf输入,它会读完一个单词后就进行后面的循环计数,不ok。注意对于输入完样例次数后的那个回车,gets会将它作为输入,所以要多加一个gets吸收这个回车 - 字符串初始化char s[1000]
- 判断句子结束用 最后一个字符=‘ ’
- 输出格式
之前多次测试实例有一个空行隔开【需要两个n】,最后一次没有空行【只是一个n】 - switch里面的break记得加



