| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 597 人关注过本帖, 1 人收藏
标题:大家帮我看看是否是编译器的原因
只看楼主 加入收藏
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
结帖率:94.74%
收藏(1)
 问题点数:0 回复次数:0 
大家帮我看看是否是编译器的原因
/*
     这是一个颠倒数的程序,比如说:12.34,转换后为:34.12,我试着作了一个,WIN-TC下正常运行。

    但我作的这个程序也有些弊病,因为int取值范围的限制,只能转换小数后4位以下的,我试过long与double,可能是我的编译器的原因,没有成功。

     如果哪位可以帮我改改,不胜感激。另外,据书上说float取值范围是7位,那么它的最大值与最小值各是多少呢?最好用十进制标出来,不胜感激。

    作的这个程序还有很多不足之处,还望各位不吝指教一二。谢谢!
*/

#include<stdio.h>
#define CLEAR { char c; while( ( c=getchar() ) != '\n' && c != EOF ) ; }
int xiaosu_zhuanhuan(float f)
{
       int i=f;
       int k=i;
       if(i!=0&&i%10==0)
       {
            i/=10;
            f/=10;
            k=xiaosu_zhuanhuan(f);
       }
       else return k;
}
int main(void)
{
        char xinghao[]="**************************************************";
        char y;
        int zhengsu,fanhui_z;
        float xiaosu,f;
        do
        {
                do
                {
                        system("cls");
                        printf("\n\n%s\n\n",xinghao);
                        printf("您好,这是个小数倒置程序,比如说:12.34\n"
                               "转换后为:34.12。 由于储存类型的原因,\n"
                               "请您输入的数字长度不要超过5位。谢谢!\n");
                        printf("\n\n\n请输入您的数字:");
                        scanf("%f",&f);
                        CLEAR;
                        if(f<0.0001||f>99999)
                                printf("\n您的输入有问题,请重新输入。\n ");
                                sleep(1);
                }
                while(f<0.0001||f>99999);
                zhengsu=f;
                xiaosu=(f-zhengsu)*10000;
                fanhui_z=xiaosu_zhuanhuan(xiaosu);
                printf("\n\n%s\n\n您的数字转换后为:%d.%d\n",xinghao,fanhui_z,zhengsu);
                printf("\n您还要继续吗?Y继续,其它键退出:");
                y=getchar();
                CLEAR;
        }
        while(y=='y'||y=='Y');
        system("cls");
        printf("\n\n%s\n\n祝你好好学C,天天向上。\n",xinghao);

        getch();
}
搜索更多相关主题的帖子: 编译 小数 float double 
2008-04-01 21:09
快速回复:大家帮我看看是否是编译器的原因
数据加载中...
 
   



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

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