| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5800 人关注过本帖
标题:学写程序,先把《Hello,world!》写好
只看楼主 加入收藏
g79134682
Rank: 2
等 级:论坛游民
帖 子:80
专家分:75
注 册:2011-7-29
收藏
得分:0 
楼主。。我常量与变量还没学懂呢。。!!!这个~~~很难啊 ~~~等我再往后学了就知道了。不过非常感谢楼主
2011-08-01 21:43
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <assert.h>
#include <limits.h>
#include <math.h>

char * number_format(long number, char * buf) {
    int     i, j, k = 0;
    char *  pTemp = buf;

    i = (int)log10((double)(number));
    j = (int)pow(10.0, i);
    while(j) {
        if((i + 1 - k) % 3 == 0 && k)
            *pTemp++ = ',';
        *pTemp++ = number / j % 10 + '0';
        j /= 10; k++;
    }
    *pTemp = '\0';
    return buf;
}

char * get_file_size(FILE * fp, char * buf) {
    long    size;

    assert(!fseek(fp, 0L, SEEK_END));
    assert((size = ftell(fp)) != -1);

    return number_format(size, buf);
}

int main(void) {
    char    buf[(int)log10((double)(LONG_MAX)) + 5];
    char    file_name[128];
    FILE *  fp;

    scanf("%s", file_name);
    assert(fp = fopen(file_name, "rb"));
    printf("Size of file %s is %s bytes.\n", file_name, get_file_size(fp, buf));
    return 0;
}

这样呢?

My life is brilliant
2011-08-01 21:46
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
收藏
得分:10 
程序代码:
#include<stdio.h>

int main(int argc,char *argv[])
{
    int x,a[20],i=0;
    printf("请输入一个任意整数\n");
    scanf("%d",&x);

    while(x!=0)
    {
       a[i++]=x%1000;
       x=x/1000;
     }
     while(--i>=0)
     {
        printf("%d",a[i]);
        if(i>=0)
           putchar('\,');
      }
     return 0;
}
感谢又让我学了一招 呵呵
2011-08-01 22:02
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 34楼 烟雾中的迷茫
自己多弄点数测试一下嘛,长的、短的,必须都能适用,负数也要考虑。

授人以渔,不授人以鱼。
2011-08-01 22:09
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 35楼 TonyDeng
你不是说必须要把结果放在一个字符串里吗?

My life is brilliant
2011-08-01 22:17
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以字符串返回和直接输出没有什么实质上的差异,看程序是看实质的,不是看无关重要的东西的。34楼的程序有两处毛病,第一是最后多了一个逗号,第二是负数的时候出问题。关键是自己要运行测试(那个putchar('\,')的用法就是错的,明显自己没有运行过,连编译也没通过),不要指靠别人给你测试,这也是程序员应该做到的。

尝试把它写成函数吧,弄规范一点,以后自己可以用。

[ 本帖最后由 TonyDeng 于 2011-8-1 22:23 编辑 ]

授人以渔,不授人以鱼。
2011-08-01 22:21
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
收藏
得分:0 
回复 35楼 TonyDeng
哦 好滴
2011-08-01 22:22
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
还有,你为什么不接受0?

授人以渔,不授人以鱼。
2011-08-01 22:25
DavidPlant
Rank: 1
来 自:北京
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-7-31
收藏
得分:0 
2011-08-01 22:25
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 37楼 TonyDeng
如果不用写在一个字符串里,那么你如果要写一个桌面程序用于查看文件大小呢?既然用这种格式,一般表示货币数量、人数等一些正整数?难道你真的见过那个人的银行帐户上的钱是负的?

My life is brilliant
2011-08-01 22:32
快速回复:学写程序,先把《Hello,world!》写好
数据加载中...
 
   



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

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