搜索
查看: 1737|回复: 7
打印 上一主题 下一主题

求1~100所有整数的合

[复制链接]
跳转到指定楼层
楼主
发表于 2013-8-14 01:50:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <dos.h>
int main()
{
        int a,b,c;
    a=0;
    b=100;   
    while(a<=49)
    {a=a+1;
    b=b-1;
    c=a+b;
    }
    printf("%d ",c+150);
        system("color a9");
    Sleep(9999);
        return 0;
}
我错哪里了?而且为什么我在一个代码前面点空格,空格会替换代码,而不是在代码前面加空格!我用的就是啊哈C编译器

最佳答案

查看完整内容

因为你每次都给c重新赋值,c没有起到累加的作用 这样写太容易出错,不如直接累加,或者用等差数列公式……
沙发
发表于 2013-8-14 01:50:50 | 只看该作者
因为你每次都给c重新赋值,c没有起到累加的作用
这样写太容易出错,不如直接累加,或者用等差数列公式……
板凳
发表于 2013-8-14 08:27:34 | 只看该作者
回贴时请遵守当地法律哦。{:soso__15960872840493620282_3:}
地板
发表于 2013-8-14 08:27:45 | 只看该作者
{:soso__15960872840493620282_3:}
5#
发表于 2013-8-14 08:41:31 | 只看该作者
#include <stdio.h>
#include <stdlib.h>
int main()
{        int a,b=0;
        for(a=1;a<=100;a++)
                b+=a;
        printf("%d",b);       
        system("pause");
        return 0;
}

6#
 楼主| 发表于 2013-8-14 12:05:48 | 只看该作者
本帖最后由 w906786868 于 2013-8-14 12:10 编辑
rosynirvana 发表于 2013-8-14 02:26
因为你每次都给c重新赋值,c没有起到累加的作用
这样写太容易出错,不如直接累加,或者用等差数列公式……

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <dos.h>
int main()
{
    int a,b,c,d;
    a=0;
    b=100;  
    d=0;
    while(a<=49)
    {a=a+1;
     b=b-1;
     c=a+b;
     d=c+d;
    }
    printf("%d ",d+150);
        system("color a9");
    Sleep(9999);
        return 0;
}
这样为什么还是错的
7#
发表于 2013-8-14 12:38:28 | 只看该作者
w906786868 发表于 2013-8-14 12:05
#include
#include
#include

自己trace一下就知道了
a的值是1,2...50
b的值是99,98...50
所以你多加了一个50,最后d要加上100然后减掉50
普通的off one error
所以说不要这么写,容易出错
8#
发表于 2013-8-15 20:29:50 | 只看该作者
至于空格的问题,很可能是你误按了Insert键

百度百科内容:
鼠标点击可输入框后会出现闪动的光标. 一般情况下,Windows系统默认光标位置插入字符,而光标向后移动,即输入时对光标后字符无影响. 但是Insert是嵌入,即插入并覆盖,所以当按下Insert键后再输入,光标后的字符会被消去,即被当前输入字符替换掉,再次按下后则会还原到默认插入状态.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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