赞
踩
- #include<stdio.h>
- #include <math.h>
- int main(){
- int n,num,r=0;
- int j;
- printf("请输入要判断的数个数:");
- scanf("%d",&n);
- for(int i = 0;i<n;i++){
- scanf("%d",&num);
- for(j=2;j<sqrt(num);j++){
- if(num%j==0)
- break;
- }
- if(num==1) continue;
- if(j>sqrt(num)) r++;
- }
- printf("质数个数为:%d",r);
- }
测试结果:
sqrt是math.h中的开根号,(通过开方来限制循环次数从而提高代码运行效率)
下面是通过调用函数实现
- #include<stdio.h>
- #include <math.h>
- int isPrime(int num){
- int j;
- for(j=2;j<sqrt(num);j++){
- if(num%j==0)
- break;
- }
- if(num==1) return 0;
- if(j>sqrt(num)) return 1;
- }
- int main(){
- int n,num,r=0;
- int j;
- printf("请输入要判断的数个数:");
- scanf("%d",&n);
- for(int i = 0;i<n;i++){
- scanf("%d",&num);
- if(isPrime(num)==1)
- r++;
- }
- printf("质数个数为:%d",r);
- }
测试结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。