C语言实例6—判断101-200之间有多少个素数,并输出所有素数。

题目:判断101-200之间有多少个素数,并输出所有素数。

//程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
//     则表明此数不是素数,反之是素数。
#include<stdio.h>
#include<math.h>
int main(){
	int m,i,k,h=0,leap=1;
	printf("\n");
	for(m=101;m<=200;m++){
		k = sqrt(m+1);
		for(i=2;i<=k;i++){
			if(m%i==0){
				leap=0;
				break;
			}
			}
		if(leap){
			printf("%-4d",m);
			h++;
			if(h%10==0){
				printf("\n");
					
				}
			
		}
		leap = 1;
	}
	printf("\nThe total is %d",h);
}



  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 答:可以使用以下C语言代码来解决这个问题: #include <stdio.h> #define MAX 200 int main(void) { int i, j, count = 0; int prime[MAX]; for (i = 2; i <= MAX; i++) { int isprime = 1; for (j = 2; j < i; j++) { if (i % j == 0) isprime = 0; } if (isprime) { prime[count] = i; count++; } } printf("101-200之间一共有%d个素数,它们分别是:\n",count); for (i = 0; i < count; i++) printf("%d\n", prime[i]); return 0; } ### 回答2: 题目要求用C语言代码判断101-200之间有多少个素数,并输出所有素数。要解决这个问题,我们可以使用两个循环嵌套扫描101-200之间的所有数,对每个数进行素数判断。 首先,素数是只能被1和自身整除的大于1的自然数。因此,我们可以编写一个函数来判断一个数是否为素数。该函数接受一个正整数作为参数,然后用2到该数之间的所有整数依次去除该数,如果能被整除,说明该数不是素数。如果2到该数一半范围内都不能被整除,说明该数是素数。 以下是使用C语言编写的代码: ```c #include <stdio.h> int isPrime(int num) { int i; for(i = 2; i <= num/2; i++) { if(num % i == 0) { return 0; // 不是素数 } } return 1; // 是素数 } int main() { int count = 0; printf("101-200之间素数有:\n"); for(int i = 101; i <= 200; i++) { if(isPrime(i)) { printf("%d ", i); count++; } } printf("\n共有%d个素数。\n", count); return 0; } ``` 运行上述代码后,会输出101-200之间素数,并打印出总共有多少个素数。注意,该程序只适用于100到200的范围,若要判断其他范围的素数,只需更改`for`循环中的起始和结束值即可。 ### 回答3: 判断一个数是否为素数的基本思路是,遍历该数的所有可能的因子(从2到sqrt(n)),如果该数能被任何因子整除,则该数不是素数,否则是素数。 下面是一个使用C语言代码来判断101-200之间素数输出实例: ```c #include <stdio.h> int isPrime(int num) { //判断是否为素数的函数 int i; for(i = 2; i <= num/2; i++) { if(num % i == 0) return 0; //不是素数 } return 1; //是素数 } int main() { int i, count = 0; printf("101-200之间素数有:\n"); for(i = 101; i <= 200; i++) { if(isPrime(i)) { printf("%d ", i); count++; } } printf("\n"); printf("共有%d个素数\n", count); return 0; } ``` 运行后的输出结果是: ``` 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 共有21个素数 ``` 这段代码首先定义了一个`isPrime`函数,用于判断一个数是否为素数。然后在`main`函数中,使用一个for循环遍历101200之间的所有数,使用`isPrime`函数判断每个数是否为素数,如果是则输出,并使用`count`变量记录素数的个数。最后输出素数的个数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值