C 练习实例12
题目:判断101到200之间的素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
实例
// Created by study.p2hp.com on 15/11/9.
// Copyright © 2015年 高手教程. All rights reserved.
//
#include <stdio.h>
int main()
{
int i,j;
int count=0;
for (i=101; i<=200; i++)
{
for (j=2; j<i; j++)
{
// 如果j能被i整出在跳出循环
if (i%j==0)
break;
}
// 判断循环是否提前跳出,如果j<i说明在2~j之间,i有可整出的数
if (j>=i)
{
count++;
printf("%d ",i);
// 换行,用count计数,每五个数换行
if (count % 5 == 0)
printf("\n");
}
}
return 0;
}
以上实例输出结果为:
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
C 语言经典100例



dafeng
117***1747@qq.com
参考方法:
#include<stdio.h> #include<math.h> int main() { int i,j,k; for(i=101;i<201;i++) { k=sqrt(i); //如果i不能被2~√i间任一整数整除,i必定是素数 for(j=2;j<=k;j++) if(i%j==0) break; if(j>k) printf("%d\n",i); // else printf("%d is not aprime number",i); } }dafeng
117***1747@qq.com
zayn
267***5830@qq.com
参考方法:
#include<stdio.h> void f10(){ int i=0;//设置循环因子:被除数 int j=0;//除数 int num=0;//计数变量 printf("101到200间的素数:\n"); for(i=101;i<=200;i++){ int counter=0;//计数器,每次里循环计数器都会清零 for(j=1;j<=i;j++){ if(i%j==0){ counter++; } } //里循环结束后判断被整除的次数 if(counter==2){ printf("%d\n",i); num++; } } printf("统计:一共%d个素数\n",num); } int main(){ f10(); return 0; }zayn
267***5830@qq.com