请帮我编一个程

来源:百度知道 编辑:UC知道 时间:2024/09/21 15:30:23
编写程序可以把字母格式的电话号码翻译成数值格式:
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
假设用户输入的字母都是大写字母

楼上 正解,不过就是有点小问题。 scanf("%s",arr[MAX])应该改成 scanf("%s",arr)

//注意输入的时候为大写字母
#include<stdio.h>
#define MAX 50
main(){
char arr[MAX]={0};
printf("\n\t enter phone number:");
scanf("%s",arr);
RePrint(arr[MAX]);
getch();
}
RePrint(char arr[MAX]){
int i=0,a;
char s[MAX]={0};
for(i=MAX-1;i>0;i--) s[i]=0;
printf("\n");
while(arr[i]!=0){
if(arr[i]>='A'&&arr[i]<'Z')
{a=((int)arr[i]-59)/3;s[i]=a+48;i++;}
else
{s[i]=arr[i];i++;}
}for(i=0;i<MAX;i++)
printf("%c",s[i]);
}

/*原来没看清题,呵呵,改好了!*/
#include<stdio.h>
#define MAX 50
main(){
char arr[MAX]={0};
printf("\n\t enter phone number:");
s