鱼C论坛

 找回密码
 立即注册
查看: 2566|回复: 3

关于C语言的一道题

[复制链接]
发表于 2013-11-12 15:04:39 | 显示全部楼层 |阅读模式
1鱼币
5.jpg 求大神!

最佳答案

查看完整内容

哎,我最近比较喜欢做题,效果截图如下(欢迎验证): 代码如下:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-12 15:04:40 | 显示全部楼层
本帖最后由 friendan 于 2013-11-12 22:14 编辑

哎,我最近比较喜欢做题,效果截图如下(欢迎验证):
1.png

代码如下:
#include <stdio.h>

//计算下面表达式前n项中偶数项的和
//1x2x3+2x3x4+3x4x5+...+nx(x+1)x(x+2)+...
int CalSum(int n)
{
        unsigned sum=0,last=0;
        if(n<2)
        {
                return 0;//n小于2时结果为0
        }
        if(n<=3)
        {
                return (2*3*4);//n小于4时结果为24
        }

        //n大于3的话
        //n是偶数时,第一项是2x3x4,最后一项是nx(n+1)x(n+2)
        //n是奇数时,第一项是2x3x4,最后一项是(n-1)x(n)x(n+1)
        if(0==n%2)
        {
                last=n;
        }
        else
        {
                last=n-1;
        }
        
        //计算前n项中偶数项的和
        for(int i=2;i<=last;)
        {
                sum+=i*(i+1)*(i+2);
                i+=2;//下一偶数项
        }
        return sum;
}

void main ()
{
        for(int i=1;i<=10;i++)
        {
                //%-5d表示输出5列,左对齐,不足5列则补空格
                printf("前%-2d项中偶数项的和为:%-5d\n",i,CalSum(i)); 
        }
}


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-11-13 10:45:20 | 显示全部楼层
虽然有点复杂。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-11-23 18:54:11 | 显示全部楼层
#include"stdio.h"
void main()
{
        int haha(int n);
        int sum=0,n;
    printf("请输入表达式(1*2*3+2*3*4+……+n*(n+1)*(n+2)的项数n:");
    scanf("%d",&n);
    printf("表达式(1*2*3+2*3*4+……+n*(n+1)*(n+2)的前n项中偶数项的和=%d\n",haha(n));
}
int haha(int n)
{
        int sum=0,i;
        for(i=2;i<=n;i+=2)
                sum+=i*(i+1)*(i+2);
        return sum;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 10:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表