慕慕2918583
2015-09-05 10:28
为什么我用for嵌套while不对?
#include<stdio.h>
int main()
{
int i;
for(i=0;i<=50;i++)
{
while( i%1==0 && i%i==0 )
{
printf("%d\t",i);
break;
}
}
}
对于int main()你忘记了加return 0;在末尾
你的程序出现了0%0的数学错误,0%0相当于0/0···0,0是不能做被除数的
1、初始化数值不好,0%0没道理啊!
2、while(i%1==0&&i%i==0)等同于while(1)没正确选择筛选条件,除0外所有的数都满足
3、1这个数目前还没有被公认为素数,(质数)素数定义:比1大的自然数中,除了1和本身外不能被其他自然数整除的数
4、while是构成循环的,你的while里并没有循环语句,应该使用if()语句;
i%1==0 && i%i==0 1到50之间的任何一个数字 都满足这个条件 (注意要求是 只能被1和本身整除) 条件本身有缺陷 我是菜鸟纯属自己理解
大于1的任何一个数都能被1和它本身整除,,程序错误
不应该从i=0开始,应该从i=2开始,1不是素数
while( i%1==0 && i%i==0 ) 当 i = 0 时,while( 0%1==0 && 0%0==0 )
C语言入门
927009 学习 · 21533 问题
相似问题