用C语言编写程序,实现将读入的正整数的各位数字转换成对应的英文单词。 单词间使用一个空格隔开。

输入样例
123
-123
输出样例
One Two Three
Error
如果输入错误,则输出“Error”

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
int n;
int i,len;
char str[10],ch;

scanf("%d",&n);
if(n <= 0)
{
printf("Error\n");
exit(-1);
}
itoa(n,str,10); //将整数转换成字符串,存放在字符数组str中
len=strlen(str);
for(i=0;i<len;i++)
{
ch=str[i];
switch(ch)
{
case '0': printf("Zero "); break;
case '1': printf("One "); break;
case '2': printf("Two "); break;
case '3': printf("Three "); break;
case '4': printf("Four "); break;
case '5': printf("Five "); break;
case '6': printf("Six "); break;
case '7': printf("Seven "); break;
case '8': printf("Eigth "); break;
case '9': printf("Nine "); break;
}
}

return 0;
}

仅供参考。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-09
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
char a;
while('\n'!=a){
a=getchar();
switch (a)
{
case '0':printf("zero ");break;
case '1':printf("one ");break;
case '2':printf("two ");break;
case '3':printf("three ");break;
case '4':printf("four ");break;
case '5':printf("five ");break;
case '6':printf("six ");break;
case '7':printf("seven ");break;
case '8':printf("eight ");break;
case '9':printf("nine ");break;
}
}
return 0;
}
相似回答