啊哈磊_编程从这里起步

标题: 160页 求100以内偶数的和 求助 [打印本页]

作者: 擦擦擦    时间: 2013-7-31 10:43
标题: 160页 求100以内偶数的和 求助
这是我写的,运行后什么都没有,求助……
#include <stdio.h>
#include <stdlib.h>
int main()
{
        int a,i;
    a=0;
    i=1;
    while (i<100)
    {
                if (i%2==0)
        {
                        a=a+i;
            i=i+1;
        }
    }
    printf("%d",a);
        system("pause");
        return 0;
}


作者: rosynirvana    时间: 2013-7-31 10:43
i=i+1放到if外面去
作者: 超神级    时间: 2013-7-31 11:34
标题: 一个好标题,将获得更多人关注哦。
本帖最后由 超神级 于 2013-7-31 12:45 编辑

{:soso_e136:}。。。。。
作者: 超神级    时间: 2013-7-31 11:48
标题: 一个好标题,将获得更多人关注哦。
本帖最后由 超神级 于 2013-7-31 12:45 编辑

{:soso_e136:}。。。。。
作者: 擦擦擦    时间: 2013-7-31 13:53
rosynirvana 发表于 2013-7-31 12:51
i=i+1放到if外面去

额,发现问题了已经,不过还是谢谢了!
作者: sunjun329    时间: 2013-7-31 22:19
#include <stdio.h>
#include <stdlib.h>
int main()
{
        int a,i;
    a=0;
    i=1;
    while (i<100)
    {
                if (i%2==0)
                 a=a+i;//经典之处偶数的和
                 i=i+1;
         
    }
    printf("%d",a);
        system("pause");
        return 0;
}
作者: young0303    时间: 2013-8-5 13:36
如果从i=2,开始,i=i+2循环,怎么和这个一样?

作者: rosynirvana    时间: 2013-8-5 14:13
young0303 发表于 2013-8-5 13:36
如果从i=2,开始,i=i+2循环,怎么和这个一样?

从0开始和从2开始是一样的,因为0加不加不影响结果;
每次加2都会踩在偶数上面,这里用的是每次加1然后判断是不是偶数
都是正确的,所以结果是一样的
作者: young0303    时间: 2013-8-5 16:04
rosynirvana 发表于 2013-8-5 14:13
从0开始和从2开始是一样的,因为0加不加不影响结果;
每次加2都会踩在偶数上面,这里用的是每次加1然后判 ...

谢谢,明白了。我想问一下2分钟倒计时,形如2:00的那种,你给的答案printf("%d:%02d",sec/60,sec%60);这句不太懂,怎么让他显示2:00这种格式,麻烦解释一下,多谢了!
作者: rosynirvana    时间: 2013-8-5 16:59
young0303 发表于 2013-8-5 16:04
谢谢,明白了。我想问一下2分钟倒计时,形如2:00的那种,你给的答案printf("%d:%02d",sec/60,sec%60);这句 ...

哪里不懂? %02d这个?
d前面两个数字一个表示左端用0补全宽度,一个表示宽度

如果不用printf这个特性,可以看看这个
http://bbs.ahalei.com/thread-2329-1-1.html
作者: young0303    时间: 2013-8-5 17:24
rosynirvana 发表于 2013-8-5 16:59
哪里不懂? %02d这个?
d前面两个数字一个表示左端用0补全宽度,一个表示宽度

是的,那个看不懂。
作者: young0303    时间: 2013-8-5 17:37
rosynirvana 发表于 2013-8-5 16:59
哪里不懂? %02d这个?
d前面两个数字一个表示左端用0补全宽度,一个表示宽度

为什么计算分用"/",计算秒用“%”啊?
作者: rosynirvana    时间: 2013-8-5 18:03
young0303 发表于 2013-8-5 17:37
为什么计算分用"/",计算秒用“%”啊?

分钟整除除法除以60,就是分钟数,余数就是秒数
这些自己演算一遍就明白了
作者: 隐隐约约    时间: 2013-8-5 18:25
#include <stdio.h>
#include <stdlib.h>
int main()
{
        int a,i;
    a=0;
    i=1;
    while (i<100)
    {
                if (i%2==0)
        {
                        a=a+i;
            i=i+1;
        }
    }
    printf("%d",a);
        system("pause");
        return 0;
}

作者: young0303    时间: 2013-8-5 19:41
rosynirvana 发表于 2013-8-5 18:03
分钟整除除法除以60,就是分钟数,余数就是秒数
这些自己演算一遍就明白了

是这样,我理解错了,谢谢了。
作者: young0303    时间: 2013-8-5 22:32
rosynirvana 发表于 2013-8-5 16:59
哪里不懂? %02d这个?
d前面两个数字一个表示左端用0补全宽度,一个表示宽度

你让我看的这个看这个http://bbs.ahalei.com/thread-2329-1-1.html
代码:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
        int a=120,m,s;
    system("color 0a");
    while(a>=0)
    {
        system("cls");
        m=a/60;
        s=a%60;
        if(a-10<0)
          printf("%d:0%d",m,s);
        else
          printf("%d:%d",m,s);
          a=a-1;
          Sleep(1000);
     }     
        system("pause");
        return 0;
}
运行后,刚开始怎么显示2:0,而不是2:00啊?怎么改成开始时显示2:00
作者: rosynirvana    时间: 2013-8-5 22:52
young0303 发表于 2013-8-5 22:32
你让我看的这个看这个http://bbs.ahalei.com/thread-2329-1-1.html
代码:
#include
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4. int main()
  5. {
  6.     int a=120,m,s;
  7.     system("color 0a");
  8.     while(a>=0)
  9.     {
  10.         system("cls");
  11.         m=a/60;
  12.         s=a%60;
  13.         if(s-10<0) /* here */
  14.           printf("%d:0%d",m,s);
  15.         else
  16.           printf("%d:%d",m,s);
  17.           a=a-1;
  18.           Sleep(1000);
  19.      }     
  20.         system("pause");
  21.         return 0;
  22. }
复制代码
稍微改一点就可以了
作者: young0303    时间: 2013-8-5 23:24
rosynirvana 发表于 2013-8-5 22:52
稍微改一点就可以了

多谢了!




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2