| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1520 人关注过本帖
标题:对齐小数点,怎么办啊?各位!
只看楼主 加入收藏
吉野家
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2013-4-12
结帖率:0
收藏
 问题点数:0 回复次数:11 
对齐小数点,怎么办啊?各位!
输入:
2
-0.34345
4545.232
输出:
  -0.34345
4545.232
搜索更多相关主题的帖子: 怎么办 小数点 
2013-04-12 22:44
yctchxf
Rank: 6Rank: 6
来 自:盐城
等 级:侠之大者
威 望:2
帖 子:176
专家分:454
注 册:2012-4-10
收藏
得分:0 
这个你自己先看看 %f  的几种形式。baidu 吧 基本是有两种办法 1 你固定小数的位数,不够的用空格填充。  2 固定整数的位数。同样不够用空格填充
2013-04-12 22:54
吉野家
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2013-4-12
收藏
得分:0 
回复 2楼 yctchxf
求代码啊
2013-04-13 23:53
哈1哈1呵1呵1
Rank: 1
等 级:新手上路
帖 子:10
专家分:4
注 册:2013-4-2
收藏
得分:0 
float a=2;
float b=-0.34345;
float c=4545.232;
printf("   %f",a);
printf("\n");
printf("  %f",b);
printf("\n");
printf("%f",c);
}
2013-04-14 09:20
fanpengpeng
Rank: 8Rank: 8
来 自:南极洲
等 级:蝙蝠侠
威 望:7
帖 子:299
专家分:849
注 册:2013-2-1
收藏
得分:0 
回复 4楼 哈1哈1呵1呵1
哈哈呵呵

人生是一场错过 愿你别蹉跎
2013-04-14 10:47
bojy123
Rank: 1
等 级:新手上路
帖 子:30
专家分:4
注 册:2013-4-6
收藏
得分:0 
以下是引用yctchxf在2013-4-12 22:54:14的发言:

这个你自己先看看 %f  的几种形式。baidu 吧 基本是有两种办法 1 你固定小数的位数,不够的用空格填充。  2 固定整数的位数。同样不够用空格填充
printf("  %f\n",a);
是这样么
2013-04-14 10:50
吉野家
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2013-4-12
收藏
得分:0 
不知道每个输入的数字的位数不确定
比如输入:
5
12.34
-485.46
0.467
-0.5346
546.978
输出:
  12.34
-485.46
   0.467
  -0.5346
 546.978
我说清楚了吗?
2013-04-14 11:08
吉野家
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2013-4-12
收藏
得分:0 
要输入N个数的
2013-04-14 11:09
y3765258
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:106
专家分:172
注 册:2013-4-9
收藏
得分:0 
我懂你的意思了
我的办法是固定整数位。
举例  3个数  1.234    12.34   123.4  1234.0
首先放进数组
然后判断最大的数是几位  
  maxm=4.
数组循环输出时,判断每个数是几位n,maxm-n决定输出几个空格。
#include "stdio.h"
int main()
{
    int fun(float a);
    float a[10]={0};
    int maxm=0,n,i,j;
    printf("how many data to deal?\n");
    scanf("%d",&n);
    printf("please inputr you data!\n");
    for(i=0;i<n;i++)
    {
        scanf("%f",&a[i]);
        if(a[i]>maxm)
            maxm=a[i];
    }
    for(i=0;i<n;i++)
    {
        for(j=0;j<fun(maxm)-fun(a[i]);j++)
        {
            printf(" ");
        }
        printf("%f\n",a[i]);
    }
   
   
}
int fun(float a)
{
    int i,j,n=0;
    (int)(a);
    while(a>0)
    {
        a/=10;
        n++;
    }
    return n;
}
结果
how many data to deal?
4
please inputr you data!
1.2345
12.345
123.45
1234.5
   1.234500
  12.345000
 123.449997
1234.5

我菜鸟级别,代码比较乱。希望对你有帮助。

有问题一起探讨,一起进步。
2013-04-14 13:31
吉野家
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2013-4-12
收藏
得分:0 
回复 9楼 y3765258
好像不对哟
比如输入:
5
1.23
45.69
123.6
-0.123
0.00256
输出为:
  1.230000
 45.689999
123.599998
                                                -0.123000
     0.002560

2013-04-14 14:23
快速回复:对齐小数点,怎么办啊?各位!
数据加载中...
 
   



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

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