C语言程序设计题目,急求答案啊
编写程序,输入一个3位整数,将该整数转换为英语输出。例如,输入189,输出“onehundredandeightynine”...
编写程序,输入一个3位整数,将该整数转换为英语输出。例如,输入189,输出“one hundred and eighty nine ”
展开
1个回答
展开全部
int main(void)
{
int a,b,c,d;
scanf("%d",&a);
b=a/100(百位);
if(b==0)进入十位判断;
else{
switch(b){
case :1 printf("one hundred");break;
↓
case : 9 printf("nine hundred");break;
}
printf("and");
}
c=(a/10)%10(十位);
if(c==0)直接对个位判断;
else if(c==1) {
重新对c=a%100 ;
if(c==10)printf("ten");break; 整个程序结束;
if(c>=11)
switch(c){
case :11~19 printf("11~19");break;继续执行个位;
}
}
if(c>=2) {
switch(c){
case 2~9 printf("20~90");break;//记得输出时加空格。
}
}
d=a%10(个位)
switch(d){
case 1~9 printf("one~nine");break;//个位输出时带上"\n".// C=10的时候这步不用走,所以不考虑d=0的情况;
}
returne 0;
}
大概就这样了,具体的自己再补充下,这个程序比较狭隘,不容易推广。例如4位或者5位数等
{
int a,b,c,d;
scanf("%d",&a);
b=a/100(百位);
if(b==0)进入十位判断;
else{
switch(b){
case :1 printf("one hundred");break;
↓
case : 9 printf("nine hundred");break;
}
printf("and");
}
c=(a/10)%10(十位);
if(c==0)直接对个位判断;
else if(c==1) {
重新对c=a%100 ;
if(c==10)printf("ten");break; 整个程序结束;
if(c>=11)
switch(c){
case :11~19 printf("11~19");break;继续执行个位;
}
}
if(c>=2) {
switch(c){
case 2~9 printf("20~90");break;//记得输出时加空格。
}
}
d=a%10(个位)
switch(d){
case 1~9 printf("one~nine");break;//个位输出时带上"\n".// C=10的时候这步不用走,所以不考虑d=0的情况;
}
returne 0;
}
大概就这样了,具体的自己再补充下,这个程序比较狭隘,不容易推广。例如4位或者5位数等
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询