5.3.2

来源:互联网 发布:js如何获取单选框的值 编辑:程序博客网 时间:2024/06/05 00:29
#include <iostream>using namespace std;int main(){    unsigned aCnt = 0, eCnt = 0, iCnt = 0, oCnt = 0, uCnt = 0;    char ch;    while (cin >> ch)    {        if (ch == 'a') ++aCnt;        else if (ch == 'e') ++eCnt;        else if (ch == 'i') ++iCnt;        else if (ch == 'o') ++oCnt;        else if (ch == 'u') ++uCnt;    }    cout << "a:" << aCnt << '\n'        << "e: " << eCnt << '\n'        << i: " << iCnt << '\n'        << o: " << oCnt << '\n'        << "u: " << uCnt << endl;    return 0;}

5.10

#include <iostream>using namespace std;int main(){    unsigned aCnt = 0, eCnt = 0, iCnt = 0, oCnt = 0, uCnt = 0;    char ch;    while (cin >> ch)    {        if (ch == 'a'||ch == 'A') ++aCnt;        else if (ch == 'e'||ch == 'E') ++eCnt;        else if (ch == 'i'||ch == 'I') ++iCnt;        else if (ch == 'o'||ch == 'O') ++oCnt;        else if (ch == 'u'||ch == 'U') ++uCnt;    }    cout << "a:" << aCnt << '\n'        << "e: " << eCnt << '\n'        << i: " << iCnt << '\n'        << o: " << oCnt << '\n'        << "u: " << uCnt << endl;    return 0;}

5.11

#include <iostream>using std::cin; using std::cout; using std::endl;int main(){    unsigned aCnt = 0, eCnt = 0, iCnt = 0, oCnt = 0, uCnt = 0, spaceCnt = 0, tabCnt = 0, newLineCnt = 0;    char ch;    while (cin >> std::noskipws >> ch)        switch (ch)        {            case 'a':            case 'A':                ++aCnt;                break;            case 'e':            case 'E':                ++eCnt;                break;            case 'i':            case 'I':                ++iCnt;                break;            case 'o':            case 'O':                ++oCnt;                break;            case 'u':            case 'U':                ++uCnt;                break;            case ' ':                ++spaceCnt;                break;            case '\t':                ++tabCnt;                break;            case '\n':                ++newLineCnt;                break;        }    cout << "Number of vowel a(A): \t" << aCnt << '\n'        << "Number of vowel e(E): \t" << eCnt << '\n'        << "Number of vowel i(I): \t" << iCnt << '\n'        << "Number of vowel o(O): \t" << oCnt << '\n'        << "Number of vowel u(U): \t" << uCnt << '\n'        << "Number of space: \t" << spaceCnt << '\n'        << "Number of tab char: \t" << tabCnt << '\n'        << "Number of new line: \t" << newLineCnt << endl;    return 0;}

5.12
@ pezy
使用prech保存这次判断前一次判断的ch,就可以判断2个字符。

#include <iostream>using std::cin; using std::cout; using std::endl;int main(){    unsigned aCnt = 0, eCnt = 0, iCnt = 0, oCnt = 0, uCnt = 0, spaceCnt = 0, tabCnt = 0, newLineCnt = 0, ffCnt = 0, flCnt = 0, fiCnt = 0;    char ch, prech = '\0';    while (cin >> std::noskipws >> ch)    {        switch (ch)        {            case 'a':            case 'A':                ++aCnt;                break;            case 'e':            case 'E':                ++eCnt;                break;            case 'i':                if (prech == 'f') ++fiCnt;            case 'I':                ++iCnt;                break;            case 'o':            case 'O':                ++oCnt;                break;            case 'u':            case 'U':                ++uCnt;                break;            case ' ':                ++spaceCnt;                break;            case '\t':                ++tabCnt;                break;            case '\n':                ++newLineCnt;                break;            case 'f':                if (prech == 'f') ++ffCnt;                break;            case 'l':                if (prech == 'f') ++flCnt;                break;        }        prech = ch;    }    cout << "Number of vowel a(A): \t" << aCnt << '\n'        << "Number of vowel e(E): \t" << eCnt << '\n'        << "Number of vowel i(I): \t" << iCnt << '\n'        << "Number of vowel o(O): \t" << oCnt << '\n'        << "Number of vowel u(U): \t" << uCnt << '\n'        << "Number of space: \t" << spaceCnt << '\n'        << "Number of tab char: \t" << tabCnt << '\n'        << "Number of new line: \t" << newLineCnt << '\n'        << "Number of ff: \t" << ffCnt << '\n'        << "Number of fl: \t" << flCnt << '\n'        << "Number of fi: \t" << fiCnt << endl;    return 0;}

5.13

unsigned aCnt = 0, eCnt = 0, iouCnt = 0;    char ch = next_text();    switch (ch) {        case 'a': aCnt++;  //缺少break;        case 'e': eCnt++; //缺少break;        default: iouCnt++; //缺少break;    }
unsigned index = some_value();    switch (index) {        case 1:            int ix = get_value();            ivec[ ix ] = index;            break;        default:            ix = ivec.size()-1; //ivec.size() 需要类型转换            ivec[ ix ] = index;    }
unsigned evenCnt = 0, oddCnt = 0;    int digit = get_num() % 10;    switch (digit) {        case 1, 3, 5, 7, 9:  //case并不可以这么写,要使用多个case            oddcnt++;            break;        case 2, 4, 6, 8, 10:            evencnt++;            break;    }
 unsigned ival=512, jval=1024, kval=4096;    unsigned bufsize;    unsigned swt = get_bufCnt();    switch(swt) {        case ival:   //case后面必须是常量            bufsize = ival * sizeof(int);            break;        case jval:  //case后面必须是常量            bufsize = jval * sizeof(int);            break;        case kval:  //case后面必须是常量            bufsize = kval * sizeof(int);            break;    }
0 0
原创粉丝点击