«

2道 键盘输入字符相关题型

点亮灯 发布于 阅读:77 C++


1,从键盘输入一段文本,以'#'符结束,分别统计出其中英文字母、空格、数字和其它字符的个数。

#include<iostream>
using namespace std;
int main() {
    char a;
    int b=0;
    do {
        cin.get(a);

        cout << a;
        b++;

    } while(a!='#');
    cout <<"共有" << b <<"个" << endl;

    system("pause");//卡屏函数
    return 0;
}

2,从键盘录入一个密码(6位),以回车结束,请将其转码后输出。转码原则:用原来的字母后面第四个字母代替原来的字母。

#include<iostream>
using namespace std;
char aa;
char a[5];
int main() {
    cout<<"*************************************"<<'\n';
    cout<<"*          ASCII码加密器        *"<<'\n';
    cout<<"*************************************"<<'\n'; 
    cout << "加密五位密码,输入:";
    cin>>a;

    for (int i=0; i <= 4; i++) {
        if (int(a[i]) >= 0 && int(a[i]) < 124) {
            aa = int(a[i]) + 4;
            cout << aa << '\t';
        }else if (int(a[i]) >= 124 && int(a[i]) <= 127) {
            aa = (int(a[i]) + 4)-127+32;
            cout << aa << '\t';
        }else {
            cout << "错误";
        }
    }
    cout << "\n";
    system("pause");//卡屏函数
    return 0;
}
//从键盘录入一个密码(6位),以回车结束,请将其转码后输出。
//转码原则:用原来的字母后面第四个字母代替原来的字母。
#include<iostream>
using namespace std;
int main() {
    char a;
    int b,c;
    do {

        cin.get(a);
        if (int(a) >= int('a') && int(a) <= int('z')) {
            b = int(a) + 4;
            if (int(a) >= 119) {
                cout << char(b - 26);
            }
            else {
                cout<<char(b);
            }
        }else if(a == '\n'){
            cout<<"\n"  ;
        }else{
            cout<<'\t'<<"错误"<<'\t';
        }

    } while(a != '\n');
    system("pause");//卡屏函数
    return 0;
}