| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3262 人关注过本帖, 1 人收藏
标题:请教for和while的区别·······
只看楼主 加入收藏
隐君子
Rank: 1
等 级:新手上路
帖 子:46
专家分:1
注 册:2011-12-7
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:14 
请教for和while的区别·······
程序代码:
#include<stdio.h>
int main(void)
{
    int n,i,r=0;
    printf("请输入大于3一个正整数:");
    scanf("%d",&n);
    for(i=2;i<n;i++)
    if(n%i==0)
    {
        r=1;
        break;
     }
     if(!r)
     printf("%d是素数。\n",n);
     else
     printf("%d不是素数。\n",n);
}
题目是:输入大于3一个正整数,判断是不是素数,将结果输出。
想了一天一夜没把代码写出来,上面是搜了论坛,照别人的代码写的,但很多不明白,所以又来请教了:
1,为什么要定义r=0?
2,{r=1;
    break;}是什么意思?
3,(!r),怎么理解?
4,能把for语句该成while语句吗?
5,for和while有什么区别?
谢谢大家了!刚刚学,很多不懂,重复了很多帖子希望大家海涵!谢谢!
2012-01-17 00:40
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:3 
r是个标志,当r = 0时对应的数是素数,r = 1时对应的数不是素数。
先假定r=0,即输入的数是素数,注意是假定;当用比n小的数去逐个除n时如果存在能被n除尽的数for(i=2;i<n;i++)  if(n%i==0) 那么此数不是素数,
这时使 r = 1;
if(!r) 是经过循环判断后,如果r能保持最开始的假定,也就是说假定对了,即 r = 0( 没被改变为 1),那么 !r就是1
不能把for 换成 while 但是可以把 if换成 while .  具体区别看看书,很简单,书上写的很清楚。  

梅尚程荀
马谭杨奚







                                                       
2012-01-17 00:55
隐君子
Rank: 1
等 级:新手上路
帖 子:46
专家分:1
注 册:2011-12-7
收藏
得分:0 
谢谢!有没有说(r是个标志,for和while的区别,语句怎么使用,符号怎么使用和理解代码)这些的书介绍一本?
2012-01-17 01:09
隐君子
Rank: 1
等 级:新手上路
帖 子:46
专家分:1
注 册:2011-12-7
收藏
得分:0 
可以不用假定的语句和for语句写出这个程序吗?
2012-01-17 01:14
脚印
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2012-1-17
收藏
得分:3 
我也刚开始学,只知道for一般用于知道循环次数的结构,while一般用于无限次循环,具体还得查书。
2012-01-17 01:33
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
回复 3楼 隐君子
如果這樣都要看書才能學會,那你麻煩大大的了!

授人以渔,不授人以鱼。
2012-01-17 01:47
隐君子
Rank: 1
等 级:新手上路
帖 子:46
专家分:1
注 册:2011-12-7
收藏
得分:0 
谢谢!就是没看过书,所以很多不懂
2012-01-17 02:12
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
這樣的東西不需要看書的。何況你也別學那種代碼風格,m、n、r什麼的,不如用64位加密串,更神秘。你讀不懂是因為他寫的不好。

授人以渔,不授人以鱼。
2012-01-17 02:26
隐君子
Rank: 1
等 级:新手上路
帖 子:46
专家分:1
注 册:2011-12-7
收藏
得分:0 
64位加密串什么东西?没听过···谢谢!
2012-01-17 09:11
hnuhsg1226
Rank: 9Rank: 9Rank: 9
来 自:中国
等 级:蜘蛛侠
威 望:2
帖 子:314
专家分:1314
注 册:2011-3-27
收藏
得分:3 
假如让你做,你会有个什么样的思路呢?

我的地盘
2012-01-17 15:00
快速回复:请教for和while的区别·······
数据加载中...
 
   



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

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