| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 582 人关注过本帖
标题:我的循环怎么不执行??
只看楼主 加入收藏
wandison
Rank: 1
等 级:新手上路
帖 子:50
专家分:4
注 册:2006-11-7
收藏
 问题点数:0 回复次数:6 
我的循环怎么不执行??

我为什么用这个循环不行??求一个偶数等于素数之和.打印出来.
#include<stdio.h>
#include<math.h>
main()
{
int i,j,n,j1,i1;

printf("input the n=");
scanf("%d",&n);

if(n%2==1)
printf("the number is wrong\n");
for(i=1;i<=n/2;i++)
{
j=n-i;

for(j1=2;j<=sqrt(j);j1++)
{
for(i1=2; i1<=sqrt(n/2); i1++)
{ if (j%j1==0 && i%i1==0)

printf("j=%d, i=%d\n", j, i);
}
}
}


}

搜索更多相关主题的帖子: include number wrong color 
2006-11-23 18:14
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
感觉循环有点错误.
应该要分开来判断i和n-i,看他们是不是素数.i不是1开始,因为1不是素数.

倚天照海花无数,流水高山心自知。
2006-11-23 18:19
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 
以下是引用wandison在2006-11-23 18:14:23的发言:

我为什么用这个循环不行??求一个偶数等于素数之和.打印出来.
#include<stdio.h>
#include<math.h>
main()
{
int i,j,n,j1,i1;

printf("input the n=");
scanf("%d",&n);

if(n%2==1)
printf("the number is wrong\n");
for(i=1;i<=n/2;i++)
{
j=n-i;

for(j1=2;j<=sqrt(j);j1++)
{
for(i1=2; i1<=sqrt(n/2); i1++)
{ if (j%j1==0 && i%i1==0)

printf("j=%d, i=%d\n", j, i);
}
}
}


}


该学习了。。。
2006-11-23 18:31
wandison
Rank: 1
等 级:新手上路
帖 子:50
专家分:4
注 册:2006-11-7
收藏
得分:0 

为什么换,楼上?解释下,谢谢


2006-11-23 21:38
weiwuchao
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-11-22
收藏
得分:0 

以下是引用wandison在2006-11-23 18:14:23的发言:

我为什么用这个循环不行??求一个偶数等于素数之和.打印出来.
#include<stdio.h>
#include<math.h>
main()
{
int i,j,n,j1,i1;

printf("input the n=");
scanf("%d",&n);

if(n%2==1)
printf("the number is wrong\n");
for(i=1;i<=n/2;i++)
{
j=n-i;

for(j1=2;j1<=sqrt(j);j1++)
{
for(i1=2; i1<=sqrt(n/2); i1++)
{ if (j%j1==0 && i%i1==0)

printf("j=%d, i=%d\n", j, i);
}
}
}


2006-11-24 18:16
hzlqzh2006
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-11-22
收藏
得分:0 
有这么几处错误:
以下是引用wandison在2006-11-23 18:14:23的发言:

我为什么用这个循环不行??求一个偶数等于素数之和.打印出来.
#include<stdio.h>
#include<math.h>
main()
{
int i,j,n,j1,i1;

printf("input the n=");
scanf("%d",&n);

if(n%2==1)
printf("the number is wrong\n");
for(i=1;i<=n/2;i++) /*i 不能从1开始,应该从2开始.另,以下程序最好放在 else{ }中*/
{
j=n-i;

for(j1=2;j<=sqrt(j);j1++) /* 条件语句中的 j 应该换成 j1 */
{
for(i1=2; i1<=sqrt(n/2); i1++)
{ if (j%j1==0 && i%i1==0) /*这句完全错误,如果条件满足的话,i, j就是偶数了*/

printf("j=%d, i=%d\n", j, i);
}
}
}


}

下面是我改了以后的程序:

#include<stdio.h>
#include<math.h>
int main()
{
int i,j,n,j1,i1,k=1;

printf("input the n=");
scanf("%d",&n);

if(n%2==1)
printf("the number is wrong\n");

else
for(i=2;i<=n/2;k=1,i++)
{
j=n-i;
for(j1=2;j1<=sqrt(j);j1++)
{
for(i1=2; i1<=sqrt(n/2); i1++)
if(j%j1==0 || i%i1==0)
{
k=0;
break;
}

}
if(k==1)printf("j=%d, i=%d\n", j, i);
}
return 0;
}

[此贴子已经被作者于2006-11-24 18:49:54编辑过]


2006-11-24 18:45
wandison
Rank: 1
等 级:新手上路
帖 子:50
专家分:4
注 册:2006-11-7
收藏
得分:0 

谢谢大家,我懂了,特别是hzlqzh2006给我讲的那么详细.真的很感谢.我是新手请大家以后多多指教.谢谢!!


2006-11-26 17:13
快速回复:我的循环怎么不执行??
数据加载中...
 
   



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

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