| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 261 人关注过本帖
标题:求解素数换行问题
只看楼主 加入收藏
小洋smile
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-11-6
结帖率:0
收藏
已结贴  问题点数:20 回复次数:8 
求解素数换行问题
#include <stdio.h>
#include <math.h>
void main()
{
int m,k,i,n=0;
for(m=101;m<=200;m=m+2)
{k=sqrt(m);
for(i=2;i<=k;i++)
  if (m%i==0) break;
  if(i>=k+1)
  {
  printf("%d ",m);
  n=n+1;
  }
    if(n%10==0)printf("\n");

}
printf("\n");
}
红笔所标的部分为什么可以放在这个位置呢?我试了一下在上面的if循环里面运行结果和这样的运行结果是一样的,可是如果在现在这个位置的话,比如说执行到149后,n的值已经是10,到150的时候因为不执行下面那个if语句,n的值应该是不变的仍为10,那不还得再输出一个回车换行符号吗?
搜索更多相关主题的帖子: include 
2014-11-06 14:22
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:20 
没问题啊  10个一换行

DO IT YOURSELF !
2014-11-06 14:28
小洋smile
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-11-6
收藏
得分:0 
回复 2 楼 wp231957
可是149换一次行,到150还要换一次行吧?因为n的值还是10没变啊?
2014-11-06 14:29
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
把花括号位置变动一下即可

if(i>=k+1)
        {
            printf("%4d ",m);
            n=n+1;
            if(n%10==0)printf("\n");
        }

DO IT YOURSELF !
2014-11-06 14:30
小洋smile
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-11-6
收藏
得分:0 
回复 4 楼 wp231957
我想的就是这样的,可是我试了一下运行,就是不放在花括号里面也没有问题的,就是不理解为什么
2014-11-06 14:31
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
我测试是没问题的 不知道你在纠结什么

 101  103  107  109  113  127  131  137  139  149
 151  157  163  167  173  179  181  191  193  197
 199  211  223  227  229  233  239  241  251  257
 263  269  271  277  281  283  293  307  311  313
 317  331  337  347  349  353  359  367  373  379
 383  389  397  401  409  419  421  431  433  439
 443  449  457  461  463  467  479  487  491  499
 503  509  521  523  541  547  557  563  569  571
 577  587  593  599  601  607  613  617  619  631
 641  643  647  653  659  661  673  677  683  691
 701  709  719  727  733  739  743  751  757  761
 769  773  787  797  809  811  821  823  827  829
 839  853  857  859  863  877  881  883  887  907
 911  919  929  937  941  947  953  967  971  977
 983  991  997 1009 1013 1019 1021 1031 1033 1039
1049 1051 1061 1063 1069 1087 1091 1093 1097 1103
1109 1117 1123 1129 1151 1153 1163 1171 1181 1187
1193
请按任意键继续. . .

DO IT YOURSELF !
2014-11-06 14:33
小洋smile
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-11-6
收藏
得分:0 
回复 6 楼 wp231957
我就是在纠结他为什么这样写没问题。。。因为我理论上来分析的话是要输出多一个换行符的。。实际运行却没有多、、就不明白为什么
2014-11-06 14:35
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
回复 7 楼 小洋 smile
这要看你是否理解1楼的代码了  你判断素数的依据是什么  n的值是素数时 自增 还是非素数时 不动  这取决于你对代码的理解
而不是你想当然的认为   如果像你想那样  会输出很多空行的  可实际并非如此  多多思考吧

DO IT YOURSELF !
2014-11-06 14:44
小洋smile
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-11-6
收藏
得分:0 
回复 8 楼 wp231957
额。。c语言学的很差啦。。最近正在恶补,不过还是很不开窍。。谢谢你的热心解答啦!我再想一想好了。。
2014-11-06 14:46
快速回复:求解素数换行问题
数据加载中...
 
   



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

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