可以帮我看看哪里有问题吗?需要用函数实现判断素数,我这里可以输入但是没办法输出,是主函数里的范围错了吗?
2条回答 默认 最新
- 语言-逆行者 2023-04-10 19:51关注
修改过后:
#include<stdio.h> // 定义一个函数,判断一个数是否为素数 int prime(int m){ int i; // 如果m小于等于1,返回0,表示不是素数 if(m<=1){ return 0; } // 如果m等于2,返回1,表示是素数 else if(m==2){ return 1; } // 否则,从2开始遍历到m-1,如果有一个数能整除m,返回0,表示不是素数 else{ for(i=2;i<m;i++){ if(m%i==0){ return 0; } } // 如果遍历完都没有找到能整除m的数,返回1,表示是素数 return 1; } } int main(){ int m,n; // 输入一个正整数n printf("请输入n:"); scanf("%d",&n); // 从2开始遍历到n,对每个数调用prime函数判断是否为素数,并输出结果 for(m=2;m<=n;m++){ if(prime(m)==1){ printf("%d是素数\n",m); } else{ printf("%d不是素数\n",m); } } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用