新手请帮忙
时间:2010-07-17
来源:互联网
用嵌套循环求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.请大家帮帮忙.初学就会遇到弱智的问题.大家不要见笑.
#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.请大家帮帮忙.初学就会遇到弱智的问题.大家不要见笑.
作者: lylzgq 发布时间: 2010-07-17
素数:素数的概念,大于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,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,又怎么可能是一样的呢。
作者: magicrobot1984 发布时间: 2010-07-17
建议楼上的,多看一下C基础语法,多做实验再问,这样问,估计大部分的人都会懒得回答。
作者: magicrobot1984 发布时间: 2010-07-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28