C趣味程序(二)(01)整数求和
来源:优易学  2010-1-14 11:51:03   【优易学:中国教育考试门户网】   资料下载   IT书店
1.1有规律数据求和
    常见的数据求和分为对一组有规律数据的求和与对若干个无规律的离散数据求和两种。
    有规律的一组数据通常可以写出它的第i项的通项式f(i),在设置的求和i循环中,使用赋值语句s=s+f(i),把f(i)累加到s中,即可简便实现求和。

1.1.1 整数求和
    求:s=1.2.3+3.4.5+...+99.100.101
    易知通项f(i)=i*(i+1)*(i+2),i=1,3,...,99。于是可简单地由以下程序实现求和:
#include<stdio.h>
void main()
{
    int i,s;
    s=0;
    for(i=1;i<=99;i+=2)
        s=s+i*(i+1)*(i+2);
    printf("1*2*3+3*4*5+...+99*100*101=%d",s);
}
程序运行结果:
1*2*3+3*4*5+...+99*100*101=13002450

注:对于这一求和问题,可把通项式改为f(i)=(i-1)*i(i+1),  i=2,4,...,100。
于是,求和程序可以改写为:
#include<stdio.h>
void main()
{
    int i,s;
    s=0;
    for(i=2;i<=100;i+=2)
        s=s+(i-1)*i*(i+1);
    printf("1*2*3+3*4*5+...+99*100*101=%d",s);
}
运行结果与上完全相同。
可见,求解一个问题,程序设计是灵活的,是可以变通的。程序设计的变通比较是提高程序设计能力的一个有效办法。

责任编辑:cyth

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训