共有回帖数  0  个 
	 
	
	
	
     
          
          
               
				
			 
				
					 
 
            
				   - 
						
						
							 
									关于移动火柴棒让等式成立的题目 达人请进     
  . 这是一个很古老的游戏。用木棒在桌上拼出一个不成立的等式,移动且只移动一根木棒使得等式成立。现在轮到你了。从键盘读入一个式子(该式子肯定是一个不成立的等式)。    
判断,是否可以移动一根木棒可以使等式成立,则输出新的等式,否则输出No。    
a.式子中的数只能是正数,运算符号只会出现一个加号或减号,并且有且仅有一个等号,不会出现括号、乘号或除号,也不会有++,--,+-或-+出现。    
b.式子中只能是整数,并且小于32767    
c.可以移动符号,移动前后,木棒构成的数字必须严格与计算机器中显示的效果一致。    
d.从键盘读入的式子中的数不会以0开头,但允许修改后等式中的数以数字为开头。    
#include stdio.h  
main()  
{  
char s[40];  
int swanp1();  
get_s_and_jia_k(s);  
swanp_one(s);  
swanp_two(s);  
swanp_three(s);  
swanp_four(s);  
printf("over");  
}  
ok(char s[])/*pan duan */  
{  
char *p=s;  
char s1[15];  
char s2[15];  
char s3[15];  
char c;  
int i,k,z;  
char b[40];  
fuzhi(b,s);  
i=0;  
while(*(p+i)!=' ')  
{if(*(p+i)=='k') swanp2(s,i);  
 else i++;  
}/*sha k*/  
i=0;  
while(*(p+i)!='+'&&*(p+i)!='-'){s1=*(p+i);i++;}s1=' ';/*get s1*/  
c=*(p+i);/*get c*/  
i++;k=0;  
while(*(p+i)!='='){s2[k]=*(p+i);i++;k++;}s2[k]=' ';/*get s2*/  
i++;k=0;  
while(*(p+i)!=' '){s3[k]=*(p+i);i++;k++;}s3[k]=' ';/*get s3*/  
i=swanp1(s1);  
k=swanp1(s2);  
z=swanp1(s3);/*get a,b,c,fh*/  
/*printf("%d,%d,%dn",i,k,z);*/  
if(c=='+'&&i+k==z||c=='-'&&i-k==z)  
{printf("yes--");  
printf("%d%c%d=%dn",i,c,k,z);}  
fuzhi(s,b);  
}  
int swanp1(char s[])/*put s to number*/  
{  
char *p=s;  
int x=0,y=1;  
while((*p)!=' ') p++;  
p--;  
 while(1){  
 x+=(*p-48)*y;  
 if(s==p) break;  
 p--;y*=10;  
 }  
return x;  
}  
swanp2(char s[],int i)/*shan chu*/  
{  
char *p=s;  
 while(1){  
 *(p+i)=*(p+i+1);if(*(p+i)==' ') break;  
 p++;  
 }  
}  
get_s_and_jia_k(char s[])  
{  
char c;  
int n;  
for(n=0;(c=getchar())!='n';n+=2)  
 {s[n]='k';s[n+1]=c;}  
s[n]='k';s[n+1]=' ';  
}  
fuzhi(char s[],char shuru[])  
{  
int n=0;  
while((*(s+n)=*(shuru+n))!=' ')n++;  
*(s+n)=*(shuru+n);  
}  
/*---------------tao lun-------------------*/  
swanp_one(char s[])  
{  
char *p=s;  
char b[40];  
fuzhi(b,s);  
while((*p)!=' '){  
switch(*p-'0'){  
case 0:*p='6';ok(s);*p='9';ok(s);break;  
case 2:*p='3';ok(s);break;  
case 3:*p='2';ok(s);*p='5';ok(s);break;  
case 5:*p='3';ok(s);break;  
case 6:*p='0';ok(s);break;  
case 9:*p='0';ok(s);break;  
default: break;}  
p++;}  
fuzhi(s,b);  
}  
swanp_two(char s[])  
{  
char *p=s;  
int n=0;  
char b[40];  
fuzhi(b,s);  
while((*p)!=' '){  
switch(*p-'0'){  
case 0:*p='8';  
 while(*(s+n)!=' '){  
 switch(*(s+n)-'0'){  
 case 7:*(s+n)='1';ok(s); *(s+n)='7';break;  
 case 9:*(s+n)='3';ok(s);*(s+n)='5';ok(s); *(s+n)='9';break;  
 case 6:*(s+n)='5';ok(s); *(s+n)='6';break;  
 case 8:*(s+n)='0';ok(s);*(s+n)='6';ok(s);*(s+n)='9';ok(s); *(s+n)='8';break;  
 case ('+'-'0'):*(s+n)='-';ok(s); *(s+n)='+';break;
default: break;}  
 n++;}  
 *p='0';  
 n=0;  
 break;  
case 1:*p='7';  
 while(*(s+n)!=' '){  
 switch(*(s+n)-'0'){  
 case 7:*(s+n)='1';ok(s); *(s+n)='7';break;  
 case 9:*(s+n)='3';ok(s);*(s+n)='5';ok(s); *(s+n)='9';break;  
 case 6:*(s+n)='5';ok(s); *(s+n)='6';break;  
 case 8:*(s+n)='0';ok(s);*(s+n)='6';ok(s);*(s+n)='9';ok(s); *(s+n)='8';break;  
 case ('+'-'0'):*(s+n)='-';ok(s); *(s+n)='+';break;  
 default: break;}  
 n++;}  
 *p='1';  
 n=0;  
 break;  
case 3:*p='9';  
 while(*(s+n)!=' '){  
 switch(*(s+n)-'0'){  
 case 7:*(s+n)='1';ok(s); *(s+n)='7';break;  
 case 9:*(s+n)='3';ok(s);*(s+n)='5';ok(s); *(s+n)='9';break;  
 case 6:*(s+n)='5';ok(s); *(s+n)='6';break;  
 case 8:*(s+n)='0';ok(s);*(s+n)='6';ok(s);*(s+n)='9';ok(s); *(s+n)='8';break;  
 case ('+'-'0'):*(s+n)='-';ok(s); *(s+n)='+';break;  
 default: break;}  
 n++;}  
 *p='3';  
 n=0;  
 break;  
case 5:*p='6';  
 while(*(s+n)!=' '){  
 switch(*(s+n)-'0'){  
 case 7:*(s+n)='1';ok(s); *(s+n)='7';break;  
 case 9:*(s+n)='3';ok(s);*(s+n)='5';ok(s); *(s+n)='9';break;  
 case 6:*(s+n)='5';ok(s); *(s+n)='6';break;  
 case 8:*(s+n)='0';ok(s);*(s+n)='6';ok(s);*(s+n)='9';ok(s); *(s+n)='8';break;  
 case ('+'-'0'):*(s+n)='-';ok(s); *(s+n)='+';break;  
 default: break;}  
 n++;}  
 *p='5';  
 n=0;  
  
 *p='9';  
 while(*(s+n)!=' '){  
 switch(*(s+n)-'0'){  
 case 7:*(s+n)='1';ok(s); *(s+n)='7';break;  
 case 9:*(s+n)='3';ok(s);*(s+n)='5';ok(s); *(s+n)='9';break;  
 case 6:*(s+n)='5';ok(s); *(s+n)='6';break;  
 case 8:*(s+n)='0';ok(s);*(s+n)='6';ok(s);*(s+n)='9';ok(s); *(s+n)='8';break;  
 case ('+'-'0'):*(s+n)='-';ok(s); *(s+n)='+';break;  
 default: break;}  
 n++;}  
 *p='5';  
 n=0;  
 break;  
case 6:*p='8';  
 while(*(s+n)!=' '){  
 switch(*(s+n)-'0'){  
 case 7:*(s+n)='1';ok(s); *(s+n)='7';break;  
 case 9:*(s+n)='3';ok(s);*(s+n)='5';ok(s); *(s+n)='9';break;  
 case 6:*(s+n)='5';ok(s); *(s+n)='6';break;  
 case 8:*(s+n)='0';ok(s);*(s+n)='6';ok(s);*(s+n)='9';ok(s); *(s+n)='8';break;  
 case ('+'-'0'):*(s+n)='-';ok(s); *(s+n)='+';break;  
 default: break;}  
 n++;}  
 *p='6';  
 n=0;  
 *p='5';  
 while(*(s+n)!=' '){  
 switch(*(s+n)-'0'){  
 case 1:*(s+n)='7';ok(s); *(s+n)='1';break;  
 case 3:*(s+n)='9';ok(s); *(s+n)='3';break;  
 case 5:*(s+n)='6';ok(s);*(s+n)='9';ok(s); *(s+n)='5';break;  
 case 6:*(s+n)='8';ok(s); *(s+n)='6';break;  
 case 9:*(s+n)='8';ok(s); *(s+n)='9';break;  
 case 0:*(s+n)='8';ok(s); *(s+n)='0';break;  
 case ('-'-'0'):*(s+n)='+';ok(s); *(s+n)='-';break;  
 default: break;}  
 n++;}  
 *p='6';  
 n=0;  
 break;  
case 7:*p='1';  
 while(*(s+n)!=' '){  
 switch(*(s+n)-'0'){  
 case 1:*(s+n)='7';ok(s); *(s+n)='1';break;
case 3:*(s+n)='9';ok(s); *(s+n)='3';break;  
 case 5:*(s+n)='6';ok(s);*(s+n)='9';ok(s); *(s+n)='5';break;  
 case 6:*(s+n)='8';ok(s); *(s+n)='6';break;  
 case 9:*(s+n)='8';ok(s); *(s+n)='9';break;  
 case 0:*(s+n)='8';ok(s); *(s+n)='0';break;  
 case ('-'-'0'):*(s+n)='+';ok(s); *(s+n)='-';break;  
 default: break;}  
 n++;}  
 *p='7';  
 n=0;  
 break;  
case 8:*p='0';  
 while(*(s+n)!=' '){  
 switch(*(s+n)-'0'){  
 case 1:*(s+n)='7';ok(s); *(s+n)='1';break;  
 case 3:*(s+n)='9';ok(s); *(s+n)='3';break;  
 case 5:*(s+n)='6';ok(s);*(s+n)='9';ok(s); *(s+n)='5';break;  
 case 6:*(s+n)='8';ok(s); *(s+n)='6';break;  
 case 9:*(s+n)='8';ok(s); *(s+n)='9';break;  
 case 0:*(s+n)='8';ok(s); *(s+n)='0';break;  
 case ('-'-'0'):*(s+n)='+';ok(s); *(s+n)='-';break;  
 default: break;}  
 n++;}  
 *p='8';  
 n=0;  
 *p='6';  
 while(*(s+n)!=' '){  
 switch(*(s+n)-'0'){  
 case 1:*(s+n)='7';ok(s); *(s+n)='1';break;  
 case 3:*(s+n)='9';ok(s); *(s+n)='3';break;  
 case 5:*(s+n)='6';ok(s);*(s+n)='9';ok(s); *(s+n)='5';break;  
 case 6:*(s+n)='8';ok(s); *(s+n)='6';break;  
 case 9:*(s+n)='8';ok(s); *(s+n)='9';break;  
 case 0:*(s+n)='8';ok(s); *(s+n)='0';break;  
 case ('-'-'0'):*(s+n)='+';ok(s); *(s+n)='-';break;  
 default: break;}  
 n++;}  
 *p='8';  
 n=0;  
 *p='9';  
 while(*(s+n)!=' '){  
 switch(*(s+n)-'0'){  
 case 1:*(s+n)='7';ok(s); *(s+n)='1';break;  
 case 3:*(s+n)='9';ok(s); *(s+n)='3';break;  
 case 5:*(s+n)='6';ok(s);*(s+n)='9';ok(s); *(s+n)='5';break;  
 case 6:*(s+n)='8';ok(s); *(s+n)='6';break;  
 case 9:*(s+n)='8';ok(s); *(s+n)='9';break;  
 case 0:*(s+n)='8';ok(s); *(s+n)='0';break;  
 case ('-'-'0'):*(s+n)='+';ok(s); *(s+n)='-';break;  
 default: break;}  
 n++;}  
 *p='8';  
 n=0;  
 break;  
case 9:*p='8';  
 while(*(s+n)!=' '){  
 switch(*(s+n)-'0'){  
 case 7:*(s+n)='1';ok(s); *(s+n)='7';break;  
 case 9:*(s+n)='3';ok(s);*(s+n)='5';ok(s); *(s+n)='9';break;  
 case 6:*(s+n)='5';ok(s); *(s+n)='6';break;  
 case 8:*(s+n)='0';ok(s);*(s+n)='6';ok(s);*(s+n)='9';ok(s); *(s+n)='8';break;  
 case ('+'-'0'):*(s+n)='-';ok(s); *(s+n)='+';break;  
 default: break;}  
 n++;}  
 *p='9';  
 n=0;  
  
 *p='3';  
 while(*(s+n)!=' '){  
 switch(*(s+n)-'0'){  
 case 1:*(s+n)='7';ok(s); *(s+n)='1';break;  
 case 3:*(s+n)='9';ok(s); *(s+n)='3';break;  
 case 5:*(s+n)='6';ok(s);*(s+n)='9';ok(s); *(s+n)='5';break;  
 case 6:*(s+n)='8';ok(s); *(s+n)='6';break;  
 case 9:*(s+n)='8';ok(s); *(s+n)='9';break;  
 case 0:*(s+n)='8';ok(s); *(s+n)='0';break;  
 case ('-'-'0'):*(s+n)='+';ok(s); *(s+n)='-';break;  
 default: break;}  
 n++;}  
 *p='9';  
 n=0;  
 *p='5';  
 while(*(s+n)!=' '){
switch(*(s+n)-'0'){  
 case 1:*(s+n)='7';ok(s); *(s+n)='1';break;  
 case 3:*(s+n)='9';ok(s); *(s+n)='3';break;  
 case 5:*(s+n)='6';ok(s);*(s+n)='9';ok(s); *(s+n)='5';break;  
 case 6:*(s+n)='8';ok(s); *(s+n)='6';break;  
 case 9:*(s+n)='8';ok(s); *(s+n)='9';break;  
 case 0:*(s+n)='8';ok(s); *(s+n)='0';break;  
 case ('-'-'0'):*(s+n)='+';ok(s); *(s+n)='-';break;  
 default: break;}  
 n++;}  
 *p='9';  
 n=0;  
 break;  
default: break;}  
p++;}  
fuzhi(s,b);  
}  
swanp_three(char s[])  
{  
char *p=s;  
int n=0;  
char b[40];  
fuzhi(b,s);  
while((*p)!=' '){  
if((*p)!='1'){p++;continue;}  
else{  
if((*(p+2))=='+'||(*(p+2))=='-' ){p++;continue;}  
if(((*(p-2))=='+'||(*(p-2))=='-')&&(*(p+2))=='='){p++;continue;}  
if((*(p-2))=='='&&(*(p+2))==' '){p++;continue;}  
}  
*p='k';  
 while(*(s+n)!=' '){  
 switch(*(s+n)-'0'){  
 case 1:*(s+n)='7';ok(s); *(s+n)='1';break;  
 case 3:*(s+n)='9';ok(s); *(s+n)='3';break;  
 case 5:*(s+n)='6';ok(s);*(s+n)='9';ok(s); *(s+n)='5';break;  
 case 6:*(s+n)='8';ok(s); *(s+n)='6';break;  
 case 9:*(s+n)='8';ok(s); *(s+n)='9';break;  
 case 0:*(s+n)='8';ok(s); *(s+n)='0';break;  
 case ('-'-'0'):*(s+n)='+';ok(s); *(s+n)='-';break;  
 case 'k'-'0':*(s+n)='1';ok(s); *(s+n)='k';break;  
 default: break;}  
 n++;}  
*p='1';  
n=0;  
p++;}  
fuzhi(s,b);  
}  
swanp_four(char s[])  
{  
char *p=s;  
int n=0;  
char b[40];  
fuzhi(b,s);  
while((*p)!=' '){  
if(*p=='k'){*p='1';  
 while(*(s+n)!=' '){  
 switch(*(s+n)-'0'){  
 case 7:*(s+n)='1';ok(s); *(s+n)='7';break;  
 case 9:*(s+n)='3';ok(s);*(s+n)='5';ok(s); *(s+n)='9';break;  
 case 6:*(s+n)='5';ok(s); *(s+n)='6';break;  
 case 8:*(s+n)='0';ok(s);*(s+n)='6';ok(s);*(s+n)='9';ok(s); *(s+n)='8';break;  
 case ('+'-'0'):*(s+n)='-';ok(s); *(s+n)='+';break;  
 case 1:  
 if(((*(s+n+2))=='+'||(*(s+n+2))=='-' )&&  
 (((*(s+n-2))=='+'||(*(s+n-2))=='-')&&(*(s+n+2))=='=')&&  
 ((*(s+n-2))=='='&&(*(s+n+2))==' ')) break;  
 else  
 {*(s+n)='k';ok(s); *(s+n)='1';break;}  
 default: break;}  
 n++;}  
*p='k';  
n=0;}  
p++;}  
fuzhi(s,b);  
}
							 
							 
							 
							  
							  
							  楼主 2016-03-03 16:34 回复
						 
						 
           
          
          
         
   
         
      
 
   
             
                  
                  
 
 
 
     
	 
  
	Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
	
	意见反馈 | 
	关于直线 | 
	版权声明 | 
	会员须知