标题:编程实现:1的平方到5的平方的和
只看楼主
不懂C编程
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2009-10-17
结帖率:100%
 问题点数:0 回复次数:1 
编程实现:1的平方到5的平方的和
#include"stdio.h"
void main()
{
    int i,s=0;
    for(i=1;i<=5;i++)
    {
        i=i*i;
        s=s+i;
    }
    printf("s=%d\n",s);
}
这个程序是算1的平方到5的平方的和,调试没有错误和警告,
但结果s=30,算一算就知道s应该等于55,不知道程序错在哪里了,
谁能帮忙修改一下!
搜索更多相关主题的帖子: 平方 
2009-10-18 18:50
hoodlum1980
Rank: 2
来 自:浙江大学
等 级:论坛游民
威 望:2
帖 子:289
专家分:23
注 册:2008-2-24
得分:0 
#include"stdio.h"
void main()
{
    int i,s=0;
    for(i=1;i<=5;i++)
    {
        i=i*i;
        s=s+i;
    }
    printf("s=%d\n",s);
}

你傻啊,i作为循环变量,在循环体里i的值被你给变了啊。
i=1,s=1;
i=2*2=4,s=5;
i=5*5=25;s=30;
这时i=26了,当然循环也结束了。

正确的写法就是

#include"stdio.h"
void main()
{
    int i,s=0;
    for(i=1;i<=5;i++)
    {
        s+=i*i;
    }
    printf("s=%d\n",s);
}

my tech blog: /hoodlum1980
2009-10-18 20:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-289036-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.578031 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved