标题:如何用putchar输出一个单精度浮点数
取消只看楼主
m1c2f4843
Rank: 1
等 级:新手上路
帖 子:27
专家分:4
注 册:2010-7-30
结帖率:85.71%
 问题点数:0 回复次数:5 
如何用putchar输出一个单精度浮点数
给个思路
或着给个代码
搜索更多相关主题的帖子: 输出 点数 putchar 单精度 
2010-09-11 15:50
m1c2f4843
Rank: 1
等 级:新手上路
帖 子:27
专家分:4
注 册:2010-7-30
得分:0 
具体点啊
2010-09-11 15:56
m1c2f4843
Rank: 1
等 级:新手上路
帖 子:27
专家分:4
注 册:2010-7-30
得分:0 
只能用putchar函数
别的函数不能用啊
2010-09-11 16:07
m1c2f4843
Rank: 1
等 级:新手上路
帖 子:27
专家分:4
注 册:2010-7-30
得分:0 
没办法
2010-09-11 16:21
m1c2f4843
Rank: 1
等 级:新手上路
帖 子:27
专家分:4
注 册:2010-7-30
得分:0 
我自己也写了个但老出错
#include<stdio.h>

void print_d(int n)        用输出一个整数
{
 int a;

 if(n < 0)
 {
  putchar('-');
  n = -n;
 }
 if(a = n / 10)
  print_d(a);
 putchar(n % 10 + '0');
}

void print_f(float f)    用gechar输出一个浮点数  要调用上面函数
{
 int n, i = 1;

 float t;
 if(f < 0)
 {
  putchar('-');
  f = -f;
 }
 
 n = (int)f;
 print_d(n);
 putchar('.');
 t = (f - n);
 while(i ++ < 7)     主要是这个部分出错
 {
  t = t * 10;
  n = (int)t;
  print_d(n);
  t = t - (int)n;
 }
}
main()
{
 float f = 4.2341;
 print_f(f);
 putchar('\n');
 printf("%f", f);              结果应该是4.2341但老是输出4.234099 不知道是上面原因 高手看看
}

是在vc6.0调试的
2010-09-11 16:52
m1c2f4843
Rank: 1
等 级:新手上路
帖 子:27
专家分:4
注 册:2010-7-30
得分:0 
回复 11楼 jack10141
高手 懂了
2010-09-11 17:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-320136-1-1.html




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

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