搜索
查看: 8624|回复: 18

啊哈C【第三章】来了! 第4节-【求和!求和!求和!】

[复制链接]
发表于 2012-7-10 10:16:47 | 显示全部楼层 |阅读模式

在上一节我们已经学习了如何让计算机打印1~100,那如何让计算机求1~100的和呢?
你可能会说,首项加尾项的和乘以项数然后再除以2,就可以了。没错这样确实可以算出来,但是如果要求1~100以内所有7的倍数或者末尾含7的数的总和又该怎么办呢?
在求1~100的和之前我们先来解决如何求1+2+3的和。
没错你可以这样写:
[mw_shl_code=c,true]#include <stdio.h>
int main()
{
    int a;
    a=1+2+3;
    printf("%d",a);
    sleep(5000);
    return 0;
}[/mw_shl_code]


但是如果计算1~100也这样写岂不是太麻烦了。我们可以尝试另一种写法,如下:
[mw_shl_code=c,true]#include <stdio.h>
int main()
{
    int a;
    a=0;
    a=a+1;
    a=a+2;
    a=a+3;
    printf("%d",a);
    sleep(5000);
    return 0;
}[/mw_shl_code]


你可能会说这样写岂不是更麻烦……但是我们发现在上面这段代码中,a=a+1; a=a+2; a=a+3;这三句话,基本想相同,第一次加1,第二次加2,第三次加3。我们可以把这三条语句用a=a+i来表示。然后让变量i从1到3循环就可以了。代码如下:
[mw_shl_code=c,true]#include <stdio.h>
int main()
{
    int a,i;
    a=0;
    i=1;
    while(i<=3)
    {
        a=a+i;
        i=i+1;
    }
    printf("%d",a);
    sleep(5000);
    return 0;
}[/mw_shl_code]


如果需要算1~100以内的和,我们只需要将上面代码中i<=3修改为i<=100就可以了,赶快去尝试一下吧。
如果要求1~100以内所有7的倍数或者末尾含7的数的总和又该怎么办呢?首先1~100以内所有求和我们已经会了,代码如下:
[mw_shl_code=c,true]#include <stdio.h>
int main()
{
    int a,i;
    a=0;
    i=1;
    while(i<=100)
    {
        a=a+i;
        i=i+1;
    }
    printf("%d",a);
    sleep(5000);
    return 0;
}[/mw_shl_code]


代码中变量i会从1到100每次递增1,然后每次将变量i的值累加到变量a上。这个变量i就像是一个搬运苹果的, 刚开始他只拿1个苹果,之后拿2个苹果,再之后又拿3个苹果……最后一次一下拿了100个苹果。变量a就像是一个很大很大的水果篮子,用来装这些苹果。每次拿来的苹果统统地被装进篮子里面,第一次放1个苹果进去,第二次放2个苹果,第三次放3个苹果进去……最后一次放100个苹果进去。最后篮子a中苹果的总数目就是1~100的和。所以我们最后输出了变量a的值,就是答案啦。好去试一试吧。


回答如何求1~100以内所有7的倍数或者末尾含7的数的和。此时我们不再是每次都把苹果扔进篮子里面啦,只有当苹果个数是7的倍数或者末尾含7的时候,这堆苹果才能被扔进篮子里面,所以就不能每次都执行a=a+i。此时我们需要借助if语句,来完成我们的目标。其中变量i就是每次苹果的数量,代码如下:
[mw_shl_code=c,true]if(i%7==0 || i%10==7)
{
    a=a+i;
}
i=i+1;
完整代码如下:
#include <stdio.h>
int main()
{
    int a,i;
    a=0;
    i=1;
    while(i<=100)
    {
  if(i%7==0 || i%10==7)
  {
                a=a+i;
        }
        i=i+1;
    }
    printf("%d",a);
    sleep(5000);
    return 0;
}[/mw_shl_code]

 楼主| 发表于 2012-7-10 11:37:14 | 显示全部楼层
发表于 2012-7-10 21:30:55 | 显示全部楼层
很给力!{:soso_e100:}
发表于 2012-7-12 19:51:54 | 显示全部楼层
楼主  关键字的字体颜色怎么修改?
 楼主| 发表于 2012-7-12 21:06:03 | 显示全部楼层
ahac_wuleicity 发表于 2012-7-12 19:51
楼主  关键字的字体颜色怎么修改?



在发帖的时候,有<>一个标记,点一下 123.png
发表于 2012-7-13 17:07:42 | 显示全部楼层
求更新!求更新!急不可耐!
发表于 2012-7-17 20:03:32 | 显示全部楼层
期待下一章
发表于 2012-7-17 20:04:00 | 显示全部楼层
期待下一章
发表于 2012-7-18 10:09:33 | 显示全部楼层
不知道以后会不会讲一些深层次的东东啊,包括以后的函数类的使用,通讯类的应用的等也会出的吧?
发表于 2012-7-18 13:22:42 | 显示全部楼层
楼主,提供一个[mw_shl_code=c,true]下载链接[/mw_shl_code]
发表于 2012-7-18 22:59:35 | 显示全部楼层
肿么还不更新啊~
发表于 2012-7-19 07:56:32 | 显示全部楼层
前来支持一下!
发表于 2012-7-20 14:00:33 | 显示全部楼层
第五节~~求更新
发表于 2012-8-26 02:00:17 | 显示全部楼层
终于看完了~~~
发表于 2012-9-1 00:12:58 | 显示全部楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表