#include<stdio.h>
int is_prime(int n)
{
int i;
for (i=2;i<n&&n%i!=0;i++)
;
if(i==n)
return 1;
else
return 0;
}
int main(void)
{
int i;
for(i=0;i<=100;i++){
if(is_prime(i))
printf("%d\n",i);
}
return 0;
}
while中continue后只有一个动作 测试 条件表达式 for中continue后有两个动作 执行 expression 3; 测试 条件表达式
#include <stdio.h>
int is_prime (int n)
{
int i=2;
for (;i<n;i++){
if (n%i==0)
return 0;
}
return 1;
}
int main (void)
{
int i=1;
for (;i<100;){
i++;
if (is_prime(i))
printf ("%d ",i);
}
return 1;
}一开始,我打算就想复杂了,本来打算用一个更简单的判断来写,不行,一直卡在了for(i=2;i<n;i++){if(n%i==0)return 0;else return 1;}
上,所以搞得思路相当混乱。
只是后来再详细阅读一下老师给出的代码才发现是自己令得自己卡壳了。
[code]
#include <stdio.h>
int Is_Prime(int n);
int main(void)
{
int i;
for(i = 0 ; i <= 10000 ; i++)
{
if( Is_Prime(i) )
{
printf("%d \t ", i );
}
}
return 1;
}
int Is_Prime(int n)
{
int i = 0;
for( i = 2 ; i <= n ; i ++ )
{
if(n % i == 0)
{
if(i == n)
{
return 1;
}
else return 0;
}
}
return 0;
}
[/code]int su(int a)
{
int s;
int b = ( a + 1 ) / 2;
for(s=2;s<=b;s++) if( a % s == 0 ) return 0;
return a;
}#include <stdio.h>
int is_prime(int n)
{
int i=2;
for(i;i<(n/2+1);i++)
{
if(!(n%i))
return 0;
}
return 1;
}
int main()
{
int i,j=0;
for(i=1;i<=100;i++)
{
if(is_prime(i))
{ j++;
printf("%d\t",i);
}
if(!(j%5)&&j)
{
j=0;
printf("\n");
}
}
if(j>0&&j<5)
printf("\n");
return 0;
}宋老师说“其实没有必要从2一直检查到n-1,只要从2检查到⌊sqrt(n)⌋,如果全都不能整除就足以证明n是素数了,请读者想一想为什么” 是不是因为 n = ⌊sqrt(n)⌋ * ⌊sqrt(n)⌋,so 只要到⌊sqrt(n)⌋,则另外一个⌊sqrt(n)⌋也必然可以整除,从而判断出来?
# include <stdio.h>
# include <math.h>
int is_prime(int n) {
int i = 0;
for(i = 2; sqrt(i) < sqrt(n); ++i) {
if(!(n % i)) {
if(n == i) {
return 1;
}
else {
return 0;
}
}
}
}
int main(void) {
int i = 0;
for(i = 1; i <= 100; ++i) {
if(is_prime(i)) {
printf("%d\n", i);
}
}
return 0;
}这是我写的代码,仅供参考
#include<stdio.h>
int is_prime(int n);
void main(){
int i;
for(i=2;i<=100;i++){
if(is_prime(i))
{ printf("%d ",i);
}
}
}
int is_prime(int n){
int i;
for(i=2;i<n;i++)
{
if(n%i==0)
{
return 0;
}
}
return 1;
}
/*
06.4.1
求1-100之间的素数
*/
#include <stdio.h>
int main(void)
{
int i ;
int j ;
for(i = 2; i < 100; i++)
{
for(j = 2; i % j != 0; j++) ;
if(i == j)
{
printf("i=%d\n", i) ;
}
}
return 0 ;
}
/*
06.5.1
打印的小九九
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81
*/
#include <stdio.h>
int main(void)
{
int i ;
int j ;
for(i = 1; i <= 9; i++)
{
for(j = 1; j <= 9; j++)
{
printf("%d\t", i*j) ;
}
printf("\n") ;
}
int x ;
int y ;
for(x = 1; x <= 9; x++)
{
for(y = 1; y <= x; y++)
{
printf("%d\t", x*y) ;
}
printf("\n") ;
}
return 0 ;
}
#include <stdio.h>
#include <stdlib.h>
int is_prime( int n)
{
for(int i=2;i<n;i++){
if(n%i==0){
if(n==i)
return 1;
else
return 0;
}
}
}
int main()
{
int i;
for(i=1;i<100;i++){
if(is_prime(i)){
printf("%d ",i);
}
}
system("pause");
return 0;
}如果您有建设性意见,哪怕只是纠正一个错别字,也请不吝赐教,您留下的姓名和email将会出现在本书前言的致谢中。再次感谢您的宝贵意见!