免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1756 | 回复: 8
打印 上一主题 下一主题

新手请帮忙 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-07-17 14:20 |只看该作者 |倒序浏览
用嵌套循环求1-100的素数,这是我在书上看到的一个程序.
#include <stdio.h>

int main(void)
{
        int i, j;
        for (i = 1; i <= 100; i++) {
                for (j = 2; j < i; j++)
                        if (i % j == 0)
                                break;
                if (j == i)
                        printf("%d\n", i);
        }
        return 0;
}
############################
第一个问题
谁能帮我注释一下这个程序.
这个求素数的有点看不懂.
i 从1开始取值,j 从2开始取值,这里的for (j = 2; j < i; j++).当i=1时,j=2,当i=2时,j=3.那是不是j大于都小于i 啊.那还怎么算啊.
第二.
还是看不懂.
if (j == i) 如果 j 和i的值相等就打印.i ,j和i的值相等的时候也不是素数啊.
第三.
return 0
我也看了很多.不太清楚.用不用return 有什么关系.
谁能帮我举个例子.什么时候必须return .不reture 有什么区别.
还有return 0 ,return1 .return2 .这些我怎么觉的都一样呢.好像这个返回值没什么用呀.

最近才学C.请大家帮帮忙.初学就会遇到弱智的问题.大家不要见笑.

论坛徽章:
0
2 [报告]
发表于 2010-07-17 15:25 |只看该作者
素数:素数的概念,大于1,且只能被1和自身整除的数,如果能被其它数整除,则不可能是素数,在这个前提下再看代码,如:2,3.。。。

第一个问题:
代码是双层控制,
你指的是第二层,对于0,1,这两个数原本就是可以跳过的,不属于素数。
j 从2开始取值,这里的for (j = 2; j < i; j++).当i=1时,j=2,当i=2时,在这个时候,内循环应该就会跳出,因为j与i相同的时候,j<i不可能为真,也就不可能j=3.至少i=2为情况下,根本不可能有j=3。

这个最好是将基础语法看明白再来问。

第二个问题:内循环是用来判定是否为素数,如果存在一个数j能够整除i,则i不可能为素数,此时i是不可能为j的,在i==j的情况下,表示该数只能被1和其自身整除,这种情况下,咋个可能不是素数喃。

第三个问题:关于return, 可以多查点资料,return 0和return 1不是同一种情况。
对于函数应该存在一个return,根据函数原型定义的类型不同,需要return不同类型的值。
另外,0和1对应的是false and true,又怎么可能是一样的呢。

论坛徽章:
0
3 [报告]
发表于 2010-07-17 15:25 |只看该作者
建议楼上的,多看一下C基础语法,多做实验再问,这样问,估计大部分的人都会懒得回答。

论坛徽章:
0
4 [报告]
发表于 2010-07-17 19:49 |只看该作者
十分感谢二楼.我自己再多看看.

论坛徽章:
0
5 [报告]
发表于 2010-07-17 19:53 |只看该作者
LZSA。

论坛徽章:
0
6 [报告]
发表于 2010-07-18 01:37 |只看该作者
这个基础不行啊。。

论坛徽章:
0
7 [报告]
发表于 2010-07-18 01:38 |只看该作者
楼主加勒个油

论坛徽章:
3
巳蛇
日期:2013-10-03 10:41:48申猴
日期:2014-07-29 16:12:04天蝎座
日期:2014-08-21 09:24:52
8 [报告]
发表于 2010-07-18 08:20 |只看该作者
加油。{:3_193:}

论坛徽章:
0
9 [报告]
发表于 2010-07-18 08:43 |只看该作者
LZ还是找本基础的教材看看吧!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP