首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于的c语言程序算法~死循环?解决思路

2012-02-17 
关于的c语言程序算法~死循环?#include stdio.hintisprime(longnum){for(longi2i numi++){if(num%i

关于的c语言程序算法~死循环?
#include <stdio.h>
int   isprime(long   num){
for(long   i=2;i <num;i++){
if(num%i==0)   return   0;}
return   1;
}
void   main(){
long   num;
char   decide;
while(decide!= 'Y '||decide!= 'y '){
decide= 'n ';
printf( "请输入一个大于6的偶数: ");
scanf( "%ld ",&num);
while(num <=6||num%2!=0){
printf( "请输入一个大于6的偶数: ");
scanf( "%ld ",&num);
}
for(long   i=3;i <=num/2;i++)
for(long   j=num/2;j <num;j++){
if(i+j==num){
if(isprime(i)&&isprime(j))
printf( "%ld+%ld=%ld\n ",i,j,num);}
}
printf( "您想继续验证吗?(Y   for   continue,N   for   exit): ");
scanf( "%ld ",&decide);}
}

[解决办法]
首先
char decide= 'y ';
[解决办法]
decide没有初始化,这是一个不好的习惯,
其次,你好好研究一下这句话
while(decide != 'Y '|| decide != 'y ')
[解决办法]
while(decide != 'Y '|| decide != 'y ') 这行肯定有问题,不管decide等于什么,都将执行下面while里的代码。我估计lz是不是要改为
while(( 'Y '==decide) || ( 'y '==decide))。

热点排行