| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 797 人关注过本帖
标题:大家看一下,还有没有能让代码更精简的写法。
只看楼主 加入收藏
form521
Rank: 1
来 自:西安
等 级:新手上路
帖 子:162
专家分:4
注 册:2006-12-21
收藏
 问题点数:0 回复次数:8 
大家看一下,还有没有能让代码更精简的写法。
这是个求阶乘和的代码..1!+2!+3!+4!+5!..........+20!
#include<stdio.h>
int main(void)
{
   double i,sum=1;
   double n=0;
    for(i=1;i<=20;i++)
     {
      sum=sum*i;
      printf("sum=%.0f\n",sum);
      n+=sum;
     }
     printf("n=%.0f\n",n);
     system("pause");
     return 0;
}大家看一下,还有没有能让代码更精简的写法。
搜索更多相关主题的帖子: 精简 代码 
2008-04-13 10:00
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
最好用高精度,否则数据精确度不高
如果lz这种方法写,有更短的代码

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-04-13 10:29
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
不提倡以下这种写法,但是以下这种写法确实更短
程序代码:
#include<stdio.h>
#include<conio.h>
int main()
{
   double i=1,sum=1,n=0;
   for(;i<21;n+=sum,i++) printf("sum=%.0f\n",sum*=i);
   printf("n=%.0f\n",n); getch();
   return 0;
}

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-04-13 10:36
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
收藏
得分:0 
虽然我不喜欢这样写,但为了你精简的要求,稍微改了一下。
不过希望大家写代码时候还是规范些增加可读性。
#include<stdio.h>
int main(void)
{
   double i,sum=1;
   double n=0;
    for(i=1;i<=20;n+=sum,sum=sum*(++i))
     {
      printf("%.0f!=%.0f\n",i,sum);
     }
     printf("total=%.0f\n",n);
     system("pause");
     return 0;
}

“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2008-04-13 10:44
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
收藏
得分:0 
哈哈,还是孔明快些

“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2008-04-13 10:45
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
收藏
得分:0 
忍不住又写了一个
程序代码:
#include<stdio.h>
int main(void)
{
    double i,sum=1,n=0;
    for(i=1;i<=20;sum=sum*i,printf("%.0f!=%.0f\n",i++,sum),n+=sum);printf("total=%.0f\n",n);
    return 0;
}

“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2008-04-13 11:20
form521
Rank: 1
来 自:西安
等 级:新手上路
帖 子:162
专家分:4
注 册:2006-12-21
收藏
得分:0 
高精度,和双精度不一样吗?
没听过高精度。
不是只有float,double

人生就是个死循环,退出这个循环的条件是系统停止。
2008-04-14 19:42
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
楼上写个代码算个1000!的精确值我看看?要精确到个位,不能有精度丢失

" border="0" />
2008-04-14 20:06
fanchunwei
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-11-8
收藏
得分:0 
代码的优劣不应看代码的行数,实际应用中代码的可读性可能是第一位的
如果精度不够了,可以把数字用字符串表示
2008-04-14 20:17
快速回复:大家看一下,还有没有能让代码更精简的写法。
数据加载中...
 
   



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

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