| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 445 人关注过本帖
标题:帮忙看一下我写的程序哪里错了
取消只看楼主 加入收藏
wwfdzh2012
Rank: 2
等 级:论坛游民
帖 子:88
专家分:27
注 册:2012-11-22
结帖率:94.12%
收藏
已结贴  问题点数:10 回复次数:3 
帮忙看一下我写的程序哪里错了
程序代码:
#include<stdio.h>
void main()
{
    int i,j,s=0;
    for(i=2;i<=1000;i++)
    {
        for(j=1;j<i;j++)
            if(i%j==0)s=s+j;               
        if(s==i)
            printf("s=%d ",s);
        }   
}
输出“完数”的程序,编译通过,输出无结果。。。帮忙改一下。。。
2012-12-09 22:31
wwfdzh2012
Rank: 2
等 级:论坛游民
帖 子:88
专家分:27
注 册:2012-11-22
收藏
得分:0 
回复 2楼 yuccn
不是括号问题,是赋初值的问题,我给S赋值是全局变量,改成局部变量就可以了,不是很清楚,麻烦讲一下。。
2012-12-10 10:10
wwfdzh2012
Rank: 2
等 级:论坛游民
帖 子:88
专家分:27
注 册:2012-11-22
收藏
得分:0 
回复 6楼 daniel_
S为什么要清零?我在全局变量给S赋值为0了,效果有什么不一样呢?
2012-12-10 10:13
wwfdzh2012
Rank: 2
等 级:论坛游民
帖 子:88
专家分:27
注 册:2012-11-22
收藏
得分:0 
回复 10楼 daniel_
现在知道了,太大意了,S不清零就会不断累加,那么s永远不能等于i。。。程序就无意义了
2012-12-10 10:29
快速回复:帮忙看一下我写的程序哪里错了
数据加载中...
 
   



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

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