输出[m,n]之间的素数,用c语言编程怎么写。谢谢,

如题所述

先定义一个函数判断是否素数,例如:
int fun(int x){
int i;
for (i=2;i<x;i++) if (x%i==0) return 0;
return 1;
}

主程序输入m和n,然后循环他们之间的所有数,调用函数fun返回1的就输出,例如:
main(){
int m,n,i;
scanf("%d%d",&m,&n);
for (i=m;i<=n;i++) if (fun(i)) printf("%d\t",i);
}

把上面两部分连接起来,最前面加上下面一行就是完整的程序:
#include <stdio.h>
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-02
#include "stdio.h"
int main()
{
int m,n;
int i,j;
int flag=1;
printf("请输入上限m:");
scanf("%d",&m);
printf("请输入下限n:");
scanf("%d",&n);

printf("%d到%d之间的素数为:",m,n);
for (i=m;i<=n;i++) {
flag=1;
for (j=2;j<i;j++) {
if (i%j==0) {
flag=0;
}
}
if ((flag==1)&&(i!=1)) {
printf("(%d)",i);
}
}
}本回答被提问者采纳
第2个回答  2013-03-30
#include <stdio.h>

int fs(int n)
{
int i;
for(i=2;i<n;i++)
if(n%i==0)break;
if(i==n)
return 1;
else return 0;
}

int main ()
{
int n,m;
scanf("%d%d",&n,&m);
if(n>m) //如果a>b则将ab的值交换
{
int temp=n;
n=m;
m=temp;
}
int i;
for(i=n;i<=m;i++)
{
if(fs(i))
printf("%d ",i);

}
printf("\n");
return 0;
}
希望能帮到你
第3个回答  2013-03-30
void main()
{
int s,m,n;

int i,flag;

s=m;

while(s<=n)

{
flag=0;

for(i=2;i<s/2;i++)

{
if(s%i==0)

flag=1;

}
if(flag==0)

printf("%d",i);

s++;

}

}追问

能写好吗??打清楚点,写到纸上然后拍下来发