题目描述
网络新手的原型是一个名为B1FF的人,他有一种独特的编写消息的方法。下面是一条常见的B1FF公告:
H3Y DUD3, C 15 R1LLY C00L!
编写一个"B1FF过滤器",它可以读取用户录入的消息并把此消息翻译成B1FF的表达风格:
Hey dude, C is rilly cool.
H3Y DUD3, C 15 R1LLY C00L!程序需要把消息转换成大写字母,用数字替代特定的字母(A->4,B->8,E->3, I->1,O->0,S->5),然后添加1个的感叹号。
输入
输入一条消息,以"."结尾,单词之间间隔一个空格,长度最大限定为80。
输出
输出B1FF表达风格的消息,单词之间间隔一个空格,以"!"结尾。
样例输入
Hey dude, C is rilly cool.
样例输出
H3Y DUD3, C 15 R1LLY C00L!
提示
1、把原始消息存储在一个字符数组中,然后从数组头开始逐个翻译并显示字符;
2、小写字母转大写字母,使用toupper库函数。
#include <stdio.h>
#define Max 80
int main(void)
{
char ch, a[Max];
int n, i;
for (n = 0; n < Max; n++)
{
if ((ch = getchar()) == '.')
{
break;
}
a[n] = toupper(ch);
}
for (i = 0; i < n; i++)
{
switch (a[i])
{
case 'A':
printf("4");
break;
case 'B':
printf("8");
break;
case 'E':
printf("3");
break;
case 'I':
printf("1");
break;
case 'O':
printf("0");
break;
case 'S':
printf("5");
break;
default:
putchar(a[i]);
break;
}
}
printf("!");
return 0;
}