C语言编程 输出m到n之间的素数 要求定义函数 请帮助我找出错误
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/20 13:37:51
C语言编程 输出m到n之间的素数 要求定义函数 请帮助我找出错误
题目描述
输入两个正整数m和n,输出m和n之间的所有素数.
要求程序定义一个prime()函数和一个main()函数,prime()函数判断一个整数n是否是素数,其余功能在main()函数中实现.
int prime(int n)
{
//判断n是否为素数, 若n为素数,本函数返回1,否则返回0
}
输入
输入两个正整数m和n,m
题目描述
输入两个正整数m和n,输出m和n之间的所有素数.
要求程序定义一个prime()函数和一个main()函数,prime()函数判断一个整数n是否是素数,其余功能在main()函数中实现.
int prime(int n)
{
//判断n是否为素数, 若n为素数,本函数返回1,否则返回0
}
输入
输入两个正整数m和n,m
#include <stdio.h>
#include <math.h>
int prime (int n)
{
int t,i,J=1;/*把J的初始值改了,如果J=1是素数*/
t=(int)sqrt(n);
for(i=2;i<=t;i++)/*改成了i<=t,我觉得要是不改对平方数的判断会出错*/
{
if(n%i==0)
{
J=0;/*判别条件也改了*/
break;
}
}
return J;
}
int main()
{
int m,n,i,a,noAnswer=1;/*加了个一判断有没有答案的变量*/
int flag=0;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
a=prime(i);
if(a==1)
{
noAnswer=0;
if(flag==0)
printf("%d",i),flag=1;
else
printf(" %d",i);
}
}
if(noAnswer==1)/*如果没有答案在这里做选择*/
printf("No Answer\n");
else
putchar('\n');
return 0;
}
再问: 大神没有考虑1哦
再答: 是我没想到, 函数的返回值改一下 return J&&(n>=2);
再问: 哦 我知道什么意思了 很灵活、、、
#include <math.h>
int prime (int n)
{
int t,i,J=1;/*把J的初始值改了,如果J=1是素数*/
t=(int)sqrt(n);
for(i=2;i<=t;i++)/*改成了i<=t,我觉得要是不改对平方数的判断会出错*/
{
if(n%i==0)
{
J=0;/*判别条件也改了*/
break;
}
}
return J;
}
int main()
{
int m,n,i,a,noAnswer=1;/*加了个一判断有没有答案的变量*/
int flag=0;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
a=prime(i);
if(a==1)
{
noAnswer=0;
if(flag==0)
printf("%d",i),flag=1;
else
printf(" %d",i);
}
}
if(noAnswer==1)/*如果没有答案在这里做选择*/
printf("No Answer\n");
else
putchar('\n');
return 0;
}
再问: 大神没有考虑1哦
再答: 是我没想到, 函数的返回值改一下 return J&&(n>=2);
再问: 哦 我知道什么意思了 很灵活、、、
C语言编程 输出m到n之间的素数 要求定义函数 请帮助我找出错误
c语言:从键盘任意输入一个整数n,编程计算并输出1-n之间的所有素数之和
C语言编程 从键盘输入任意自然数N(N>10),要求:1)筛选出3-N之间的素数; 2)输出素数,每个数占6宽度
c语言,计算并输出3到n之间所有素数的平方根之和
C语言输出[m,n]区间素数的问题
C语言求2000到10000之间的超级素数 定义函数的方法
C语言:输入两个正整数m和n(m≥1,n≤500),输出m和n之间的所有素数,每行输出6个
C语言编程求解1到n之间所有素数之和
C语言找出数组中素数的个数,要求判定是否为素数用函数实现
c语言编程 找出所有的100-999回文素数
C语言中随机产生N个三位数,找出其中的素数并输出
请编写函数fun ,其功能是:计算并输出3到n之间所有素数的平方根之和.