| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 261 人关注过本帖
标题:求指教!!数字转化成字符串的程序。
只看楼主 加入收藏
Piculus
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-4-23
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
求指教!!数字转化成字符串的程序。
以下是把数字转化成字符串的一个程序,本人菜鸟,以下程序运行时在输入数字(小数)之后就了无音讯了连“请按任意键结束”也没出现,于是本人就在xs()的“j++”前面加了个“printf("y=%f\n",y);”结果发现如果输入例如0.1,0.2414,0.0001之类的数最后都会成功,但是一旦输入例如1.1,1.242,5.32之类的数一运行就会源源不断的涌现一大坨乱七八糟的东西,比如:“y=1.#INF00”*N。
希望高手们帮忙指教一下到底哪里出错了,还有,请务必用简单易懂的语言,拜托了…………
(衷心希望自己不要错的太幼稚,衷心希望不要被鄙视……)
搜索更多相关主题的帖子: 东西 字符串 
2012-04-24 18:12
Piculus
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-4-23
收藏
得分:0 
#include<stdio.h>
char s[30];int t=1,j=0;
void zh(int n)/*把整数部分转化成字符串*/
{  
 int i,m=n;
 while((m/=10)!=0)
    t++;
 for(i=t-1;i>=0;i--)
   {s[i]=n%10+'0';n/=10;}
}
int xs(double y)/*把小数部分转化成整数*/
{
 int x=y;
 if(y==x)
  return y;
 else {j++;return xs(y*10);}
}
main()
{
    double a,c;
 int b,i;
 scanf("%lf",&a);
    b=(int)(a);
    zh(b);
    c=a-b;
    if(a!=b)/*如果输入的数有小数部分,就加上一个小数点*/
    {
     s[t]='.';
     b=xs(c);
     for(i=1;i<=j;i++)
         c*=10;
     b=c;
      for(i=j+t;i>t;i--)
         {s[i]=b%10+'0';b/=10;}
        s[t+j+1]='\0';
    }
    else
        s[t]='\0';
    printf("s=%s",s);  
}
2012-04-24 18:14
lucky563591
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:765
专家分:2103
注 册:2009-11-18
收藏
得分:20 
好像是itoa这个函数。
2012-04-25 09:09
快速回复:求指教!!数字转化成字符串的程序。
数据加载中...
 
   



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

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