程序代码:
#include <stdio.h>
#include <windows.h>
#define LANSEZI SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE|FOREGROUND_GREEN)
#define HONGZI SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED)
#define HUANGZI SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_INTENSITY)
#define DEFAULTZI SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7)
int main()
{
int a=2,n,w=1;
scanf("%d",&n);
while(a<n)
{
printf("此时的a是%d,w是%d,下面进入if判断:\n",a,w);
if (n%a==0)
{
w=0;
HONGZI;printf("\t此时a是%d\n",a); //辅助测试语句
break;
}
a++; //无论是否能整除,a都要++, 去测试下一个数
//在你的程序中,看不出有什么不同,但要改成一个数能被几个数整除,这个逻辑错误就明显了
HUANGZI;printf("\t此时的a是%d\n",a); //辅助测试
DEFAULTZI;
Sleep(333); //暂停0.3秒看中间过程
}
LANSEZI;printf((w==0)?"此数不是素数。\n":"此数是素数。\n");DEFAULTZI;
return 0;
}
图片附件: 游客没有浏览图片的权限,请
登录 或
注册