我想打印给定数字范围的除数。它工作正常。但是当我尝试修改它以放在****
素数除数的末尾时,它的行为就像是奇怪的。
#include <stdio.h>
int main()
{
int a,start,rounds,b,c,k=0;
printf("Please enter a number to start :");
scanf("%d",&start);
printf("Please enter how many numbers you want to print from that number :");
fflush(stdin);
scanf("%d",&rounds);
for(a=start;a<=start+rounds;a++)
{
printf("\n\nThe divisors of number :%d are \n",a);
for(b=1;b<=a;b++)
{
c=a%b;
if(!c)
{
k++;
printf("%d\n",b);
}
}
//printf("%d",k);
if((k==2)||(k==1))
printf("***\n");
}
getchar();
return 0;
}
printf
PS:-我用来查找素数的技巧是计算循环结束之前执行了多少条语句。它有什么问题吗?当我//
从printf
语句中删除时,它会打印如下。
start=========>k
1 =========>1
2 =========>3
3 =========>5
4 =========>8
5 =========>10
这是为什么?