2 xyhqqlove xyhqqlove 于 2016.01.23 18:49 提问

这个程序错在哪里?为什么把所有的数字都输出出来了?
 int main()
{
int i,j;
for(i=2;i<100;i++)
{
for(j=2;j<i;j++)
{
if (!i%j)break;
}
if (j==i||i==2)printf("%d\n",i);
}
}

3个回答

caozhy
caozhy   Ds   Rxr 2016.01.23 18:53
已采纳

if (!i%j)break;
->
if (!(i%j))break;
否则优先级错了。

oyljerry
oyljerry   Ds   Rxr 2016.01.23 18:56

因为每一个数都能被自己整除,所以,i 从2开始就会都会有输出,直到自己才break,然后后面条件j会等于i。然后就是输出

xyhqqlove
xyhqqlove 不是这个问题
2 年多之前 回复
91program
91program   Ds   Rxr 2016.01.23 18:57

if (j==i||i==2)printf("%d\n",i); 是否应该是在第二个 for 循环内,而不是第一个 for 循环内。

xyhqqlove
xyhqqlove 不是这个问题
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
利用反射机制编写一个程序,这个程序能把类中所有的成员变量赋值,并把操作信息输出到控制台。
该方法通过扩大类属性的访问权限后直接操作属性,所以在Person类中并不需要写getter和setter方法,但是在实际开发中,都需要使用getter和setter方法。Person.java: package test; public class Person { private String name; private int age; public Person(){ } } D
Problem E: 时间:24小时制转12小时制
Problem E: 时间:24小时制转12小时制 Time Limit: 1 Sec  Memory Limit: 16 MB Submit: 2473  Solved: 648 [Submit][Status][Web Board] Description 编写一个程序,把输入的24小时制的时间,转换12小时制的格式输出。 12小时制没有0点时段,是以数字12、1、2、3、
笨方法学python-11(习题34-38)
习题34:访问列表的元素序数(ordinal number):从1开始编号,表示事物的顺序基数(cardinal number):从0开始,表示你可以任意抓取元素1.  上网搜索一下关于序数(ordinal number)和基数(cardinal number)的知识并阅读一下。2. 以你对于这些不同的数字类型的了解,解释一下为什么 “January 1, 2010” 里是2010 而不是 200...
12.2.2 无穷序列
12.2.2 无穷序列   在前一章,我们简单演示过使用延迟值,实现延迟列表。这种数据结构可以用来创建无穷数据结构,比如,从零开始的整数列表。这之所以可能,是因为每个元素的计算被推迟了:只在访问元素时,才计算它的值,并且,每次只关注一个元素的计算。 使用seq 表示序列是相似的。该接口有一个方法MoveNext,计算出下一个的元素。序列可能是无穷的,即,MoveNext 方法始终能够计算出下
恶心的A+B
题目描述: Description 相信大家都做过A+B问题,这个问题简直太简单了,以至于所有的程序员都会做这个题目。 有一天,萌萌哒YZK学姐写了很久很久的代码,以至于在半睡半醒状态看到了恶魔。恶魔说:愚蠢的程序员啊,不要再做无谓的挣扎了,你再怎么写代码,也改变不了这个世界终将被我统治的结局。YZK学姐顿时觉得自己被侵犯了,为了程序员的尊严,她要求与恶魔进行决斗,决斗的形式就是写代码。恶
一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。 找出这两个数字
从头到尾依次异或数组中的每一个数字,那么最终得到的结果就是两个只出现一次的数字的异或结果。因为其他数字都出现了两次,在异或中全部抵消掉了。由于这两个数字肯定不一样,那么这个异或结果肯定不为0,也就是说在这个结果数字的二进制表示中至少就有一位为1。我们在结果数字中找到第一个为1的位的位置,记为第N位。现在我们以第N位是不是1为标准把原数组中的数字分成两个子数组,第一个子数组中每个数字的第N位都为1,而
vijosP1005超长数字串
描述 他最喜欢的是数字的无穷序列,结果是把所有的自然数按升序排列。这个序列开始是: 1234567891011121314... 我们叫序列 S。然后 S[1] = 1, S[2] = 2, ... , S[10] = 1, S[11] = 0, ... , 以此类推。 George 现有一个数字系列 A ,他想知道在S中最早出现的位置。帮助他解决这个难题。 输入格式 输入
100个房间的开关
//旅馆里有一百个房间,从1到100编了号,第一个服务员把所有的房间门都打开了, //第二个服务员把所有编号是2的倍数的房间“相反处理”, //第三个服务员把所有编号是3的倍数的房间作“相反处理”……, //以后都是如此。问第100个服务员来过后,哪几扇门是打开的? #include #include int main() { int arr[101],i,j,k,ar
vijos刷题记录(可能弃坑
突发奇想的记录下vijos的刷题情况(逃三月中旬(不知道什么时候) 突破100 rp 1500++ rank 900++四月十日 突破200 rp4005.19 rank 192. . . (假装图床的样子) 4月10日 204题 rp:4290.19 rank 166| ->一天11题啊开心 4月11日 219题 rp:4491.46 rank 159|->把一大堆
程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)
程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。  要求:  1.要有联动性,老鼠和主人的行为是被动的。2.考虑可扩展性,猫的叫声可能引起其他联动效应。 要点:1. 联动效果,运行代码只要执行Cat.Cryed()方法。2. 对老鼠和主人进行抽象评分标准: .构造出Cat、Mouse、Master三个类,并能使程序运行(2分)            从Mouse和Master