输入两个正整数m和n(m≥1,n≤500),输出m和n之间的所有素数,每行输出6个,

输入两个正整数m和n(m≥1,n≤500),输出m和n之间的所有素数,每行输出6个,
每个正整数按%4d格式输出

#include<stdio.h>
#include<math.h>
int main(void)
{
int count,i,x,y,m,n;
count=0;
printf("Input m: ");
scanf("%d",&m);
printf("Input n: ");
scanf("%d",&n);
if(m>1)
for(x=m;x<=n;x++);
else
for(x=2;x<=n;x++)
{
y=sqrt(x);
for(i=2;i<=y;i++)
if(x%i==0)
break;
if(i>y){
printf("%4d",x);
count++;
if(count%6==0)
printf("\n");
}
}
printf("\n");
return 0;
}

求改错~

1、打开Flash软件,选择“ActionScript3.0”选项,新建一个空白文档。

2、选择“编辑栏”的“文本工具”,在“属性”面板中选择“输入文本”,在舞台绘制一个输入文本框,将“实例名称”更改为“in1_txt”。

3、定义按钮out_btn鼠标单击事件的侦听器,接收函数为onClick。

4、接着,定义侦听器函数onClick,事件为鼠标事件。

5、函数中,先定义一个布尔型变量,用于标识数字是否为素数,先赋值为真。

6、定义起始数min和结束数max,类型为整型,用parseInt函数将输入文本框中的字符串转换为数字,并分别赋值给两个变量。

7、定义字符型变量str,用于保存已确定的素数。

8、运行程序,结果如下图所示。

注意事项:

质数被利用在密码学上,所谓的公钥就是将想要传递的信息在编码时加入质数,编码之后传送给收信人,任何人收到此信息后,若没有此收信人所拥有的密钥,则解密的过程中(实为寻找素数的过程),将会因为找质数的过程(分解质因数)过久,使即使取得信息也会无意义。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-12-02
#include<stdio.h>
#include<math.h>
int main(void)
{
int count,i,x,y,m,n;
count=0;
printf("Input m: ");
scanf("%d",&m);
printf("Input n: ");
scanf("%d",&n);
if(m>n)//m,n如果不是m小的话,换一下
{
i=m;
m=n;
n=i;
}
//if(m>1)//这个不用判断的,因为题目已经说了。他是让你放心,不是让你判断

{
for(x=m;x<=n;x++)//;这里多分号
{
y=sqrt(x*1.0);//我是用C++的这里的重载要明确
for(i=2;i<=y;i++)
if(x%i==0)
break;
if(i>y)//说明x是素数
{
printf("%4d",x);
count++;
if(count%6==0)
printf("\n");
}
}
printf("\n");
return 0;
}
}本回答被提问者采纳
第2个回答  推荐于2018-05-07
if(m>1)之后改为
if(m>n){
for(x=n;x<=m;x++);
m=n;
n=x; }
删掉13行的else本回答被网友采纳
第3个回答  2019-06-24

#include<stdio.h>

main()

{

int tag,i,j,m,n,k=0,s=0;

printf("输入m和n\n");

while(scanf("%d %d",&m,&n)==1);

for(i=m;i<=n;i++)

{if(i==1) tag=1;             //先把1标记为非质数

else tag=0;                     //判断每一个i前,值0.假定i为质数      

for(j=2;j<i;j++)

if(i%j==0)

tag=1;                          //非质数 

if(tag==0)

{s=s+i;k++;                //求质数和,判断质数个数

printf("%-4d  ",i);       //左对齐

if(k%12==0) printf("\n");  //每输出12个质数换行

}

}

printf("\n\n");

printf("%d %d",k,s);

}

个正整数m和n(m≥1,n≤500),输出m和n之间的所有素数,每行输出6个。?
if (m<1||n>500) goto loop; \/\/如果m<1或者n>500,返回重新输入数值 for ( a=m;a<=n;a=a+1){ if (j%6==0) printf("\\n");k=sqrt(a);for (i=2;i<=k;i++)if (a%i==0)break;if (i>=k+1) {printf("d ",a);j=j+1;} } return 0;} 其中j的作用就是累...

...500且m<n),输出m和n之间的所有素数,每行输出6个,且以整齐的表格形式...
void main(){ int n,m;int i,j,k,found,l,s;printf("请输入最小最大值");scanf("%d%d",&n,&m);for (i=n,l=1;i<=m;i++){ found = 1;for(j=2;j

...>=1,n<=500),输出m和n之间的所有素数,每行输出6个。
用count计数,当count%6==0时输出换行就行了

...>=1,n<=500),输出m和n之间的所有素数,每行输出6个。
int main(void){ int i,j,p,m,n,count;count=0;printf("input m(m>1):");scanf("%d",&m);printf("input n(n<=500):");scanf("%d",&n);for(i=m>1?m:2;i<=n;i++){\/\/此处修改 p=sqrt(1.0*i);for(j=2;j<=p;j++)if(i%j==0) break;if(j>p){ printf("%6...

...>=1,n<=500),输出m和n之间的所有素数,每行输出6个。
include <stdafx.h> int main(){ int x,y,n=-1;\/\/定义m,n值,和分行值 while(1)\/\/输入不符合条件时,重新运行 { printf ("输入区间首位:\\n");scanf ("%d", &x); \/\/ 输入 if(x>=1&&x<=500 )\/\/当满足条件,则执行以下 { while(1)\/\/输入不符合条件时,重新运行 { printf ...

...输入2个正整数m和n(m>1,n<=500),统计并输出m和n
include<stdio.h>int prime(int m) { int i,r; r=1; for ( i=2;i<=m\/2;i++ ) if ( m%i==0 ) {r=0;break;} return r;}void main() { int m,n,i,k,s; scanf("%d,%d",&m,&n); k=s=0; for ( i=m;i<=n;i++ ) if ( prime(i) ) { k++; s+=...

C 语言 编程 输入2个正整数m和n(m>1,n<=500),统计并输出m和n之间的素 ...
max = m > n? m:n;min = m> n?n:m;int i = 0,count = 0, sum = 0;for (i = min + 1; i < max; i++){ if (1 == prime(i)){ sum += i;count++;} } printf("count=%d,sum=%d\\n",count,sum);} int prime(int m){ if (2 == m){ return 1;} int i ...

输入2个正整数m和n(m>=1,n<=500),统计并输出m和n之间的素数个数以及这些...
include "Stdio.h"main( ){ int prime( int ) ;int m,n,i,sum=0,count=0 ;scanf("%d,%d", &m,&n ) ;if(m<1 || n>500) printf("Data error!\\n");else for ( i = m; i <= n ; i ++ ){ if(i<=1) continue;if ( prime( i ) ==1 ) {count++; ...

C程序设计:输入2个正整数m和n(1<=m,n<=500),统计并输出m和n之间的素 ...
C程序设计:输入2个正整数m和n(1<=m,n<=500),统计并输出m和n之间的素数个数以及这些素数的和。输入:m和n;输出:素数个数以及这些素数的和。

输入2 个正整数m 和n(1<=m,n<=500),统计并输出m 和n 之间的素数的个数...
int prime(int x){int i,n;n=1;if (x==1){ n= 0;} for(i=2;i<x;i++){if(x%i==0){ n=0;break;}} return n;}

相似回答