C语言程序设计现代方法_7.4
编写程序可以把字母格式的电话号码翻译成数值格式:
enter phone number: CALLATT
2255288
(字母与数字的对应关系:2=ABC,3=DEF,4=GHI,5=JKL,6=MNO,7=PRS,8=TUV,9=WXY)
如果原始的电话号码包含非字母的字符则保留下来不做变化如:
enter phone number: 1-800-COL-LECT
1-800-265-5328
假设用户输入的字母都是大写字母
/*注意不要把switch表达式与while同时写成getchar(),因为getchar()每执行一次都会重新读入一个数*/
#include<stdio.h>
int main()
{
char ch;
printf("Enter phone number:");
do {
switch (ch=getchar()) {
case 'A' : case 'B' : case 'C' :
printf("2");break;
case 'D' : case 'E' : case 'F' :
printf("3");break;
case 'G' : case 'H' : case 'I' :
printf("4");break;
case 'J' : case 'K' : case 'L' :
printf("5");break;
case 'M' : case 'N' : case 'O' :
printf("6");break;
case 'P' : case 'Q' : case 'R' : case 'S':
printf("7");break;
case 'T' : case 'U' : case 'V' :
printf("8");break;
case 'W' : case 'X' : case 'Y' : case 'Z':
printf("9");break;
default :printf("%c",ch);
}
} while (ch !='\n');
return 0;
}
注:表达式;ch=getchar()读取一个字符,并把字符赋值给变量ch,返回ch的值。