c语言,输出1-100之间的所有素数,运用自定义函数!用循环来写。
5个回答
展开全部
看代码:
#include <stdio.h>
#include <math.h>
// 判断是否是素数,是的话返回 1,不是返回 0
int is_prime(int num)
{
if (num < 2)
{
return 0;
}
int i, tmp = (int)sqrt(num);
for (i = 2; i <= tmp; ++i)
{
if (num % i == 0)
{
return 0;
}
}
return 1;
}
int main(int argc, char** argv)
{
int i;
printf ("1 ~ 100 的素数:\n");
for (i = 1; i <= 100; ++i)
{
if (is_prime(i))
{
printf ("%d\n", i);
}
}
return 0;
}
运行:
展开全部
#include <stdio.h>
int count = 0;
int i = 0;
int calc(int num){
for(i=1;i<=num;i++){
if(num%i==0){
count++;
}
if(count <= 2){
count = 0;
return num;
}
}
}
void main(){
for(i=1;i<=100;i++){
printf("1-100之内的素数有:%d",calc(i));
}
}
int count = 0;
int i = 0;
int calc(int num){
for(i=1;i<=num;i++){
if(num%i==0){
count++;
}
if(count <= 2){
count = 0;
return num;
}
}
}
void main(){
for(i=1;i<=100;i++){
printf("1-100之内的素数有:%d",calc(i));
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-11-18
展开全部
int IsPrime(int num) //自定义判断素数函数
{
int i=2;
for(;i<=num/2;i++)
if(num%i==0)
return 0;
return 1;
}
void main()
{
int num;
printf("1-100的素数如下:\n");
for(num=2;num<=100;num++)
if(IsPrime(num))
printf("%d ",num);
printf("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int isPrime(int n)
{
int i;
if (n < 2)return 0;
for (i = 2; i*i <= n; ++i){
if (n%i == 0)return 0;
}
return 1;
}
int main()
{
int i;
for (i = 1; i <= 100; i++){
if (isPrime(i)){
printf("%d ", i);
}
}
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询