我自已有了编程的思路如下:
1若整数M是整数N的倍数,则M=N*k
(k=1,2,3……),M%N=0
所以可以通过判断余数是否等于0来判别。
2.a,b,c三个变量的可能:
1.a=0,不是二次方程
2.b2-4ac=0,有两个相等的实根
3.b2-4ac>0,有两个不等的实根
b2-4ac<0,有两个共轭复根
设disc=b2-4ac,判断disc是否等于0要注意一个问题:由于disc是实数,实数在计算和存储时会有一些微小的误差,因此不能直接判断if(disc==0)……,因为这样可能会出现本来是0的值,由于误差而被判别为不等于0而导致结果错误。正确的方法是判别disc的绝对值fab(disc)是否小于一个很小的数(例如10-6)
3.为使用switch语句,必须将利润profit与提成的关系,转换成某些整数与提成的关系。分析本题可知,提成的变化点都是1000的整数倍(1000、2000、5000、……),如果将利润profit整除1000,则当:
profit≤1000
对应0、1
1000<profit≤2000
对应1、2
2000<profit≤5000
对应2、3、4、5
5000<profit≤10000
对应5、6、7、8、9、10
10000<profit
对应10、11、12、……
为解决相邻两个区间的重叠问题,最简单的方法就是:利润profit先减1(最小增量),然后再整除1000即可:
profit≤1000
对应0
1000<profit≤2000
对应1
2000<profit≤5000
对应2、3、4
5000<profit≤10000
对应5、6、7、8、9
10000<profit
对应10、11、12、……
。。可是我编了几次都没成功。。。。。。有大侠可以帮忙一下吗