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

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

return 0;
}

我把这个程序的某些功能给删除了,你的程序后半段有逻辑错误,你可以参考下我的程序

#include<stdio.h>
void main()
{
int a,b,m=1,temp,i,n=0,flag;
printf("please input two number:\n");
scanf("%d%d",&a,&b); //输入a和b的值,确定区间
if(a>b){
temp=a;
a=b;
b=temp;}
for(n=a;n<b;n++) //确定a和b区间的素数
{
for(i=2,flag=1;i<n;i++)
if(n%i==0)
flag=0;
if(flag==1)
{
printf("%4d ",n);
if(0==(m%6))
printf("\n");m++;
}
}
printf("\n");
}

来自:求助得到的回答
温馨提示:内容为网友见解,仅供参考
无其他回答

个正整数m和n(m≥1,n≤500),输出m和n之间的所有素数,每行输出6个。?
main(){ int a,k,m,n,i,j=0;loop:scanf("%d,%d",&m,&n);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) ...

...>=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个。
用count计数,当count%6==0时输出换行就行了

...≤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个。
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
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+=i; } printf("count=%d,sum=%d\\n",k,s);} ...

输入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(m>1,n<=500),统计并输出m和n之间的素 ...
int max = 0, min = 0;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 ==...

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

编写程序 输入两个正整数m和n(1<=m<n<=500),统计并输出m和n之间素数...
int main(){ int a,b,m,n,s=0,i,count=0;printf("请输入一个两个互不相等1~500之间正整数m,n:\\n");scanf("%d%d",&m,&n) ;if(m==n){printf("不符合输入要求\\n"); } if(m>n){ a=n;n=m;m=a;} for(b=m;b<=n;b++){ for(i=2;i<=b-1;i++)if(b%i=...

相似回答