C语言while语句问题
来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/06/15 10:22:52
C语言while语句问题
![](http://img.wesiedu.com/upload/b/2d/b2de1eaed2e86179156cc2adec6a136b.jpg)
![](http://img.wesiedu.com/upload/f/1f/f1f4ae8561a113d4d51514b0fe665bfe.jpg)
为什么输入一个合数8回出现反复的这个数是合数呢?
因为我是新手,所以又写了一个比较复杂的.大家凑合着看看.我执行的时候输入1到3都没有问题,但是4开始就不行了.怎么办呢?这是为什么呢?
![](http://img.wesiedu.com/upload/7/f9/7f9e37e3a2a54a5ba17baba7cd7c59c7.jpg)
![](http://img.wesiedu.com/upload/a/23/a230467ce8fc401a8c79474ed63ec963.jpg)
![](http://img.wesiedu.com/upload/b/2d/b2de1eaed2e86179156cc2adec6a136b.jpg)
![](http://img.wesiedu.com/upload/f/1f/f1f4ae8561a113d4d51514b0fe665bfe.jpg)
为什么输入一个合数8回出现反复的这个数是合数呢?
因为我是新手,所以又写了一个比较复杂的.大家凑合着看看.我执行的时候输入1到3都没有问题,但是4开始就不行了.怎么办呢?这是为什么呢?
![](http://img.wesiedu.com/upload/7/f9/7f9e37e3a2a54a5ba17baba7cd7c59c7.jpg)
![](http://img.wesiedu.com/upload/a/23/a230467ce8fc401a8c79474ed63ec963.jpg)
![C语言while语句问题](/uploads/image/z/2405166-6-6.jpg?t=C%E8%AF%AD%E8%A8%80while%E8%AF%AD%E5%8F%A5%E9%97%AE%E9%A2%98)
把 else 去掉就可以了.
当 if 成立时,你的else语句就不会执行,y的值也不会改变,所以 if 语句会一直成立,所以就一直输出.
因为1,2,3,都是素数,直接跳出循环了,没有执行 if()语句. 4是合数.这样问题有回到刚才那样了.
在 if()执行完后加break:跳出就可以了.
if(x%y==0)
{
z=1;
break;
}
当 if 成立时,你的else语句就不会执行,y的值也不会改变,所以 if 语句会一直成立,所以就一直输出.
因为1,2,3,都是素数,直接跳出循环了,没有执行 if()语句. 4是合数.这样问题有回到刚才那样了.
在 if()执行完后加break:跳出就可以了.
if(x%y==0)
{
z=1;
break;
}