C语言学习_基本类型_习题7.4

这篇博客介绍如何用C语言编写程序将字母格式的电话号码转换为数值形式,根据2-9对应ABC到WXY的规则。程序处理包含非字母字符的情况,保持其原样不变。

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的值。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值