字符数组练习题

  1. 自动应答器
  2. n个字母转小写
  3. 简单密码

1. 自动应答器

#include<iostream>
using namespace std;
int main() {
     char s[100];
     cin>>s;
     cout<<"Hi, "<<s<<". What's the matter?";
     return 0;
}

2. n个字母转小写

题目: 输入n个大写英文字母,把它变为小写。

样例输入:

6 A B C D E Z

样例输出:

a b c d e z

题解:

/*
n个字母转小写
in 
6
A B C D E Z
out
a b c d e z
*/ 
#include <iostream>
using namespace std;
char a[28]; //放字符 
int main()
{
	int n;
	cin>>n;         //n个字母 
	for (int i=0;i<n;i++)
	{
		cin>>a[i];  //字符存到数组中 
	}
    for (int i=0;i<n;i++)
    {
    	char y;
    	y=a[i]+32;
    	cout<<y<<" ";
	}
    return 0;
}

3. 简单密码

#include <iostream>
using namespace std;
const int N=203;
int main() {
    char a[N];
    fgets(a,N+1,stdin);          //整行读入 
    for (int i=0;a[i];i++) {
        char x=a[i];
        char y;   //解密字符
        if (x>='F' && x<='Z') { //遍历密文
            y=x-5;
        }
        else if (x>='A' && x<'F') { //跨界字符
            switch (x) {
                case 'A':y='V';break;
                case 'B':y='W';break;
                case 'C':y='X';break;
                case 'D':y='Y';break;
                case 'E':y='Z';break;
            }
        }
       else y=a[i];   //不解码
       cout<<y;
    }
    
    return 0;
}