判断一个四位数各位上的数字均是0或2或4或6或8。
程序如下:
main(){
int k,j=0,i,t;
system( "cls ");
printf( "Input a integer:\n ");
scanf( "%d ",&k);
t=k;
while(t> 0){
if(t%2==0){t=t/10;j++;}
if(j==2){ printf( "%d\t ",k); }
}
}
当输入符合条件的时候能正确输出,但不符合条件的程序就进入了疆死状态呀。
[解决办法]
main(){
int k,j=0,i,t;
system( "cls ");
printf( "Input a integer:\n ");
scanf( "%d ",&k);
t=k;
while(t> 0){
if(t%2==0){t=t/10;j++;}
else { break; } // 这里增加 有一个位不是 0 2 4 6 8的处理
if(j==2){ printf( "%d\t ",k); }
}
}