C语言打印1到100之间的素数程序

如何编写C语言程序,使用For循环和While循环打印1到100或最小值到最大值或范围内的素数,并计算它们的和。

C语言使用While循环打印1到100之间的素数程序

在这个返回1到100之间素数的程序中,我们使用了嵌套的while循环和多个if语句来获得输出。

如果您不理解While循环,请参考WHILE循环

#include <stdio.h>
 
int main()
{
  int i, a = 1, count; 
  

  while(a <= 100)
  {
    count = 0;
    i = 2;
    while(i <= a/2)
    {
      if(a%i == 0)
      {
        count++;
	break;
      }
      i++;	
    }	
    if(count == 0 && a != 1 )
    {
	printf(" %d ", a);
    }
    a++; 
  }
  return 0;
}
2  3  5  7  11  13  17  19  23  29  31  37  41  43  47  53  59  61  67  71  73  79  83  89  97

这与上面的程序相同,但我们允许用户选择要打印的最小值和最大值。

#include <stdio.h>
 
int main()
{
  int i, Number, count, Minimum, Maximum; 
  
  printf("\n Please Enter the Minimum & Maximum Values\n");
  scanf("%d %d", &Minimum, &Maximum);
  Number = Minimum; 
  
  printf("Prime Numbers Between %d and %d are:\n", Minimum, Maximum);    
  while(Number <= Maximum)
  {
    count = 0;
    i = 2;
    while(i <= Number/2)
    {
      if(Number%i == 0)
      {
        count++;
	break;
      }
      i++;	
    }	
    if(count == 0 && Number != 1 )
    {
       printf(" %d ", Number);
    }
    Number++; 
  }
  return 0;
}
Program to Print Prime Numbers from 1 to 100 4

C语言使用For循环打印1到100之间的素数程序

在这个程序中,第一个For循环将确保值在它们之间。

#include <stdio.h>
 
int main()
{
  int i, N, count; 
  

  for(N = 1; N <= 100; N++)
  {
    count = 0;
    for (i = 2; i <= N/2; i++)
    {
  	if(N%i == 0)
  	{
     	  count++;
  	  break;
	}
    }
    if(count == 0 && N != 1 )
    {
	printf(" %d ", N);
    }  
  }
  return 0;
}

2  3  5  7  11  13  17  19  23  29  31  37  41  43  47  53  59  61  67  71  73  79  83  89  97

提示:我们已经在C语言判断给定数字是否为素数文章中解释了逻辑。

您可以允许用户决定最小值和最大值,而不是打印固定值。此程序允许用户输入最小值和最大值。

接下来,此程序使用For循环打印最小值和最大值之间的素数。

#include <stdio.h>
 
int main()
{
  int i, val, count, Minimum, Maximum; 

  printf("\n Please Enter the Minimum & Maximum Values\n");
  scanf("%d %d", &Minimum, &Maximum);
 
  printf("Between %d and %d are:\n", Minimum, Maximum);  
  for(val = Minimum; val <= Maximum; val++)
  {
    count = 0;
    for (i = 2; i <= val/2; i++)
    {
      if(val%i == 0)
      {
  	count++;
  	break;
      }
    }
    if(count == 0 && val != 1 )
    {
       printf(" %d ", val);
    }  
  }
  return 0;
}
 Please Enter the Minimum & Maximum Values
20
150
Between 20 and 150 are:
 23  29  31  37  41  43  47  53  59  61  67  71  73  79  83  89  97  101  103  107  109  113  127  131  137  139  149

使用for循环计算1到100之间素数的和

此程序使用for循环查找1到100之间的素数,并将它们相加以计算总和。

#include <stdio.h>
 
int main()
{
  int i, Num, count, Sum = 0; 
  
  for(Num = 1; Num <= 100; Num++)
  {
    count = 0;
    for (i = 2; i <= Num/2; i++)
    {
  	if(Num%i == 0)
  	{
  	   count++;
  	   break;
	}
    }
    if(count == 0 && Num != 1 )
    {
	Sum = Sum + Num;
    }  
  }
  printf(" Sum between 1 to 100 =  %d", Sum); 
  return 0;
}
 Sum between 1 to 100 =  1060

您可以允许用户决定最小值和最大值,而不是先将1到100相加。此代码允许用户输入最小值和最大值。接下来,此C程序使用For循环查找最小值和最大值之间的素数的总和。

#include <stdio.h>
 
int main()
{
  int i, Num, count, Sum = 0, Minimum, Maximum; 

  printf("\n Please Enter the Minimum & Maximum Values\n");
  scanf("%d %d", &Minimum, &Maximum);
  
  for(Num = Minimum; Num <= Maximum; Num++)
  {
    count = 0;
    for (i = 2; i <= Num/2; i++)
    {
  	if(Num%i == 0)
  	{
     	  count++;
  	  break;
	}
    }
    if(count == 0 && Num != 1 )
    {
       Sum = Sum + Num;
    }  
  }
  printf(" Sum between %d and %d =  %d", Minimum, Maximum, Sum); 
  return 0;
}
 Please Enter the Minimum & Maximum Values
100
200
 Sum between 100 and 200 =  3167

评论已关闭。