| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4737 人关注过本帖
标题:将输入整数转换成对应英文输出
取消只看楼主 加入收藏
酸奶味皮皮虾
Rank: 2
等 级:论坛游民
帖 子:28
专家分:54
注 册:2018-5-26
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:2 
将输入整数转换成对应英文输出
程序代码:
#include <stdio.h>
#include <math.h>
int main ()
{
    int num,j,n=0,temp;

    printf ("enter a num :\n") ;
    scanf ("%d",&num) ;

    temp = num ;                  //求输入数的位数
    while (temp != 0)
    {
        temp = temp/10 ;
        n++ ;
    }

    while (num != 0)              //求每一位数
    {
        n-- ;
        j = (int)(num/pow(10,n)) ;
        num = num-(int)(num/pow(10,n))*pow(10,n);

        switch (j)                  //输出对应英文
        {
            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 ;
            default: break ;
        }
    }
    return 0 ;
}

前几个数都对的,最后一位数总是比实际值小一,请问一下是为啥呀?
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2018-7-15 18:10编辑过]

搜索更多相关主题的帖子: num temp printf case break 
2018-07-15 18:09
酸奶味皮皮虾
Rank: 2
等 级:论坛游民
帖 子:28
专家分:54
注 册:2018-5-26
收藏
得分:0 
回复 4楼 花脸
谢谢,从低位到高位输出的话,我试了下我的没问题,但是按高位到低位输出时候,就出问题了,最后一位总是对不起来。
2018-07-16 19:18
酸奶味皮皮虾
Rank: 2
等 级:论坛游民
帖 子:28
专家分:54
注 册:2018-5-26
收藏
得分:0 
回复 2楼 no1xijin
谢谢提醒,对的,是有这样的问题
2018-07-16 19:19
快速回复:将输入整数转换成对应英文输出
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013640 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved