对不起,如果标题有点混乱,我会在这里尝试更好地解释。 因此,基本上,我正在尝试编写一个程序,其中用户以字母形式输入电话号码,然后将其转换为数字形式。像这样:
Enter phone number: CALLATT
22555288
2=ABC
,3=DEF
,4=GHI
,5=JKL
,6=MNO
,7=PRS
,8=TUV
,{{1} }
此外,如果电话号码输入包含的字符不是字母字符,则应保留它们。意思是:
9=WXY
现在,我知道使用字符串和数组可以很容易地解决此问题,但是我不应该在本练习中使用它们。我写了这段代码:
Enter phone number: 1-800-COL-LECT
1-800-265-5328
显然没有用。我的意思是,如果用户输入单个字符,则效果很好,但如果输入由多个字符组成,则效果不佳。我真的无法解决这个问题……我知道我的代码为什么和在哪里出错,但是如果不使用数组,我真的无法找到有效的解决方案来解决问题。
有帮助吗?非常感谢:)
答案 0 :(得分:0)
尝试
int num = getchar();
do {
/* your if / else / if train */
printf("%c", num);
} while ((num = getchar()) != '\n'); // assign and compare