C语言简单的编程 请牛人指出一下异常,新人初学者 勿喷
C语言简单的编程 请牛人指出一下错误,新人菜鸟 勿喷
编程程序求出m,n之间所有素数(包括m和n),其中n>m。
输入形式
输入一行,包括整数m和n。
输出形式
输出一行,输出m与n间的所有素数,各数之间以空格分隔。若无素数,则输出“no”。
#include<stdio.h>
int main()
{
int i,j,m,n,a=0,b=0;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
for(j=2;j<=i;j++)
{
if(i%j==0)a=a+1;
}
if(a<=1)
{
printf("%d ",i);
b++;
}
}
if(b==0)printf("no");
printf("\n");
return 0;
}
------解决思路----------------------
a循环每次都要清零:
编程程序求出m,n之间所有素数(包括m和n),其中n>m。
输入形式
输入一行,包括整数m和n。
输出形式
输出一行,输出m与n间的所有素数,各数之间以空格分隔。若无素数,则输出“no”。
#include<stdio.h>
int main()
{
int i,j,m,n,a=0,b=0;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
for(j=2;j<=i;j++)
{
if(i%j==0)a=a+1;
}
if(a<=1)
{
printf("%d ",i);
b++;
}
}
if(b==0)printf("no");
printf("\n");
return 0;
}
------解决思路----------------------
a循环每次都要清零:
#include <stdio.h>
int main(int argc, char* argv[])
{
int m;
int n;
int a;
int b = 0;
int i;
int j;
scanf("%d%d", &m, &n);
for(i = m; i <= n; i++)
{
a = 0;
for(j = 2; j <= i; j++)
{
if((i%j) == 0)
{
a = a + 1;
}
}
if(a <= 1)
{
printf("%d ",i);
b++;
}
}
if(b == 0)
{
printf("no");
}
printf("\n");
return 0;
}