| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 416 人关注过本帖
标题:[求助]为什么不对呢?
只看楼主 加入收藏
小雨点的家
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-4-7
收藏
 问题点数:0 回复次数:5 
[求助]为什么不对呢?
输出大于500的前5个素数的和
我是这样写的;
main()
{int n,i,t=0;
long s;
for(n=500;t<=5;n++)
{for(i=2;i<n;i++)
if(n%i!=0) break;
else
if(i>=n)
{s=s+n;t++;}
}
printf("%d",s);
}
2006-06-22 19:40
mayudong1
Rank: 2
等 级:论坛游民
威 望:1
帖 子:348
专家分:21
注 册:2006-4-18
收藏
得分:0 

我运行了2分钟也没出结果 ......


2006-06-22 19:59
无语的我
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-4-25
收藏
得分:0 

要对S初始化.


2006-06-22 20:16
kampfar
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-6-6
收藏
得分:0 

s没赋初值!!!

[此贴子已经被作者于2006-6-22 20:24:19编辑过]

2006-06-22 20:20
小雨点的家
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-4-7
收藏
得分:0 
以下是引用小雨点的家在2006-6-22 19:40:16的发言:
输出大于500的前5个素数的和
我是这样写的;
main()
{int n,i,t=0;
long s;
for(n=500;t<=5;n++)
{for(i=2;i<n;i++)
if(n%i!=0) break;
else
if(i>=n)
{s=s+n;t++;}
}
printf("%d",s);
}

我明白了,应是t=1
且if(n%i==0) break;
if(i>=n)
{s=s+n;t++;}
但结果怎么不对啊?

2006-06-22 20:25
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
/*代你改了一下:*/
#include<stdio.h>
main()
{ int n,i,t=0;
long s=0;
for(n=500;t<=5;n++)/*循环条件可能应为t<5,因为你是从t=0开始的*/
{
for(i=2;i<n;i++)
/*if(n%i!=0) break;大错*/
if(n%i==0) break;
/*else大错*/
if(i>=n)
{ s=s+n;t++; }
}
printf("%d",s);
}

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-22 20:33
快速回复:[求助]为什么不对呢?
数据加载中...
 
   



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

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