啊哈磊_编程从这里起步

标题: 计算1到100所有数的和 [打印本页]

作者: fhyang    时间: 2013-11-11 15:08
标题: 计算1到100所有数的和
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a,i;
    a=0;
    i=1;
    while(i<=100)
    {
        a=a+i;
        i=i+1;
       printf("%d ",a);   
    }

        system("pause");
        return 0;
}


为什么会输出 呢?而把 printf("%d ",a); 放在}之后输出5050.


作者: 一路天涯    时间: 2013-11-11 15:08
while的作用就是这样,执行一次,返回结果满足条件就再次执行,你的printf包含在大括号内就表示每
执行一次就要显示一个结果,放在后面就表示计算到条件不满足了显示最后的结果
作者: 4399APPLE    时间: 2013-11-11 15:42
我总觉得这样好一点

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.     int a,i;
  6.     a=0;
  7.     i=1;
  8.     while(i<=100)
  9.     {
  10.         a=a+i;
  11.         i=i+1;
  12.     }
  13.        printf("%d ",a);   
  14.         system("pause");
  15.         return 0;
  16. }
复制代码

作者: 4399APPLE    时间: 2013-11-11 19:10
嗯嗯?不在啊?我明明看到你在线啊
作者: 4399APPLE    时间: 2013-11-11 19:11
你说呢?我总觉得你那个while循环应该不要套用printf()语句,否则就会输出上面的例子
作者: 超神级    时间: 2013-11-11 21:27
飘过......
作者: fhyang    时间: 2013-11-12 10:41
4399APPLE 发表于 2013-11-11 19:11
你说呢?我总觉得你那个while循环应该不要套用printf()语句,否则就会输出上面的例子

是的,谢谢你的回答
作者: fhyang    时间: 2013-11-12 10:41
一路天涯 发表于 2013-11-11 15:08
while的作用就是这样,执行一次,返回结果满足条件就再次执行,你的printf包含在大括号内就表示每
执行一次 ...

:谢谢你的回答
作者: 4399APPLE    时间: 2013-11-12 10:43
fhyang 发表于 2013-11-12 10:41
是的,谢谢你的回答

谢了:)好好努力,啊?
作者: cekiasoo    时间: 2013-11-12 13:02
你把输出语句放在循环体里面了,所以你循环多少次,它就输出多少次了。。。
  1. #include <stdio.h>
  2. int main(void){
  3.     int num, sum;
  4.     sum = 0;
  5.     num = 1;
  6.     while(num <= 100){
  7.         sum += num;
  8.         num++;
  9.     }
  10.     printf("%d\n", sum);
  11.     system("pause");
  12.     return 0;
  13. }
复制代码

作者: a185218312    时间: 2013-11-12 20:51

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a,b, sum;
    a=1;
    b=100;
    sum=0;
    sum=(a+b)*b/2;
    printf("%d ",sum);  

        system("pause");
        return 0;
}
作者: a185218312    时间: 2013-11-12 20:52

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a,b, sum;
    a=1;
    b=100;
    sum=0;
    sum=(a+b)*b/2;
    printf("%d ",sum);  

        system("pause");
        return 0;
}
作者: 我很快乐    时间: 2013-11-16 23:06
怎么这个程序运行不了,没响应啊!能告诉我为什么吗?不然又睡不好觉了!!
作者: 我很快乐    时间: 2013-11-16 23:08
就楼主发的那个程序!求指教
作者: 4399APPLE    时间: 2013-11-18 16:03
我很快乐 发表于 2013-11-16 23:06
怎么这个程序运行不了,没响应啊!能告诉我为什么吗?不然又睡不好觉了!!

我的烂电脑都行,你的为什么就不行
作者: 4399APPLE    时间: 2013-11-18 16:04
超神级 发表于 2013-11-11 21:27
飘过......

我也是飘过~~~
作者: stu    时间: 2013-12-11 16:08
我也是飘过~~~
作者: 0dmin    时间: 2014-11-3 17:26
你把while循环中的输出语句写到外面  就不会全部输出来了




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