首页 > 其他 > 详细

用++操作符完成其它操作符的转换

时间:2015-05-18 07:48:41      阅读:177      评论:0      收藏:0      [点我收藏+]

在只容许使用++操作符的情况下,请完成下面代码,实现减法、乘法和除法。注意:假设操作数全为正整数,并且可以不考虑性能,不能使用–,*,/等操作符。
a). 乘法: int multi(int opl,int op2){//op1*op2}
b). 减法: intsub(int op1,int op2){//op1-op2}
c). 除法: int div(int op1,int op2){//op1/op2}

中心思想:
利用for循环来实现不能用其它操作符的短板
 int multi(int opl,int op2)//op1*op2 
{ 
     int mu = op1 ; 
     for ( int i = 1 ; i < op2 ; i ++)//控制外层循环个数,也可以和op1交换位置,但是如果换了就要把mu赋值也换了,它小于op2而不是等于是因为前面mu已经被赋值一次 
         for ( int j = 1 ; j <= op1 ; j ++) 
            mu ++; 
     return mu ; 
}
 int sub(int op1,int op2)//op1-op2 
{ 
     int su = - op2 ; 
     for ( int i = 0 ; i < op1 ; i ++)
          su ++; 
     return su ; 
} 
int div(int op1,int op2)//op1/op2 
{ 
    int di = 1;
    int temp = op2 ; 
     while ( op1  != op2 )//这里如果假设op2是小一点的数会更好的理解。 
     { 
         for ( int i = 0 ; i < temp ; i ++)
        op2 ++;//利用自身循环和加一的特点,如果自己转完加到了temp一次,就表明满足一次,di就++一次,每次加一,然后判断op1是否等于op2,如果不等于,继续循环,如果等于,退出返回di。
        di ++; 
     } 
     return  di ; 
} 

用++操作符完成其它操作符的转换

原文:http://blog.csdn.net/a819721810/article/details/45814543

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!