发表在 C语言编程讨论组 02-07 14:44:27
素数的判断
#include <stdio.h>
bool IsPrime(int val) { int i; for (i=2; i<val; ++i) { if (val%i == 0) break; } if (i == val) return true; else return false; }
int main (void)
{
int m;
printf ("请输入数值:");
scanf ("%d\n", &m);
if ( IsPrime(m) )
printf ("yes\n");
else
printf ("no\n");
return 0;
}
在prnitf后面的scanf误加n,要使该程序输出结果,我的理解是数值+空格+空格,正确的理解是怎样的?
忘了说了,bool(布尔)型变量不属于C语言,这是C++的变量,C语言中,把整数零看做逻辑假,其他值全部看做逻辑真,所以说,这个程序是不能用不支持C++的编译器编译的。(关于逻辑值,C语言的小门道这个系列贴中会讲到(就在下一期),有时间可以关注一下)
实验结果(去了提示符)
在scanf()的输入形式这个参数中,除了像%d,%f这类参数,都要原样输入进去,才能正常运行。也就是输入(不加引号和加号):“数值+n”。