| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5200 人关注过本帖
标题:菜鸟解决不了的加法来人帮忙啊!
只看楼主 加入收藏
yt414204458
Rank: 2
等 级:论坛游民
帖 子:260
专家分:55
注 册:2008-3-1
收藏
得分:0 
我日,你们也太专业了,还是新手,不能跟你们论了

一切从爱C开始
2008-08-11 16:26
liyanhong
Rank: 3Rank: 3
来 自:水星
等 级:禁止访问
威 望:8
帖 子:1867
专家分:0
注 册:2008-5-3
收藏
得分:0 
到是想玩玩  可惜没水平

爱上你 是 我的错  可是离 开  又舍不得  听着你为我写的歌     好难过
如果说 我说如果  我们还 能  重新来过   不去计 较 谁对谁错  会怎么做
2008-08-12 08:58
csynyk
Rank: 1
等 级:新手上路
威 望:1
帖 子:114
专家分:0
注 册:2008-8-9
收藏
得分:0 
我也写了一个,不知道效率怎么样,空间倒是消耗不大!高手帮忙测试测试!
程序代码:
char *addfunc(char *addend, char *summand)     //返回结果字符串的首地址
{
    int len_add=0, len_sum=0;
    char carry_flag=0, *temp=NULL, *result=NULL, *temp_sum=NULL;
    char number=0;
    if(strlen(addend)<strlen(summand))  //确保addend指向长字符串
    {
        temp=summand;
        summand=addend;
        addend=temp;
    }
    len_add=strlen(addend);
    len_sum=strlen(summand);
    result=(char*)malloc((len_add+2)*sizeof(char));
    temp=result;
    temp_sum=summand;
    addend+=len_add-1;
    summand+=len_sum-1;
    while(len_add--)
    {
        if((*addend>'9')||(*addend<'0')||(*summand>'9')||(*summand<'0'))
        {
            printf("Input Error!\n");
            exit(0);
        }
        if(len_sum>0)
        {
            number=*summand-'0';    // 转化位数字
            len_sum--;
            if(temp_sum!=summand)
                summand--; 
        }
        else
            number=0;
        *addend-='0';
        *addend+=number;
        if(carry_flag)   //判断进位标志
        {
            *addend+=1;
            carry_flag=0;
        }
        if(*addend>9)
        {
            carry_flag=1;
            *addend-=10;
        }
        *temp++=*addend+'0';
        addend--;
    }
    if(carry_flag)
        *temp++='1';
    *temp=NULL;
    strrev(result);
    return result;
}

http://blog./csynyk
2008-08-12 18:50
tc2222
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-8-13
收藏
得分:0 
这是求s
还是s!
2008-08-13 10:46
csynyk
Rank: 1
等 级:新手上路
威 望:1
帖 子:114
专家分:0
注 册:2008-8-9
收藏
得分:0 
楼主的标题是“菜鸟解决不了的加法...!”
我上面的函数解决的就是s=a+b的问题!

http://blog./csynyk
2008-08-13 23:35
hudiedenahan
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-8-1
收藏
得分:0 
回复 1# singleheaven 的帖子
不会
2008-08-21 17:41
daidongjie
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-8-25
收藏
得分:0 
晕了 看得我肝儿疼
2008-08-25 16:20
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
[bo][un]爱喝牛奶的猫咪[/un] 在 2008-8-6 12:26 的发言:[/bo]

要说可读性,你的好不到哪里去。
你既然要比效率,那我基本不先考虑可读性
当然,如果你说你不比效率了,要比可读性,那我会考虑一下重写,假如我有时间


 


其实阿……可维护性(包括可读性和代码风格,设计模式,编程惯用法等等)第一,正确性第二——因为如果代码乱得不可读,那正确性就根本没了意义,而就算是错误的代码,如果可读性好,那么找到Bug并且改正也是很简单的事情。第三才是效率。而且效率优先从算法改进,实在找不到改进的地方,并且确定这里就是效率瓶颈,才需要进行Dirty的效果改进,同时必须保留一份慢一点儿但规范的代码,在Deubg版本中必须两者都运行,并比较结果。

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-10-08 22:10
快速回复:菜鸟解决不了的加法来人帮忙啊!
数据加载中...
 
   



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

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