求一个点数扣除的算法问题~

本人太菜,特来论坛求助各位大侠,具体需求如下.有A,B,C,D四个列,可以读取出来并让用户修改,但是修改后的四列的值的和必须和修改前四列的和相等.用修改前的A列和修改后的... 本人太菜,特来论坛求助各位大侠,具体需求如下.

有A,B,C,D四个列,可以读取出来并让用户修改,但是修改后的四列的值的和必须和修改前四列的和相等.

用修改前的A列和修改后的A列的差取绝对值,加上修改前的B和修改后的B的差取绝对值 以此类推,取4列改前和改后的差取绝对值,相加后除以2,得到用户修改了多少点.

然后做他的计算
单列最大值超过90,每修改一点,扣除100积分
单列最大值在90和80之间,每修改一点,扣除60积分
单列最大值在80和60之间,每修改一点,扣除30点积分
单列最大值在60和40之间,每修改一点,扣除10点积分
单列最大值在40以下,每修改一点,扣除5点积分

就是说,比如原来的数值是 10,10,10,65
用户修改为 0,0,0,95

那么他要扣除的积分应该是
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 //扣除每次30积分

81 82 83 84 85 86 87 88 89 90 //扣除每次60积分

91 92 93 94 95 //扣除每次100积分

合计扣除 5*100 + 10*60 + 15*30 = 1550

/////////////////////////////////////////////////////////////////////

小弟写了很长时间都没有弄好,所以来求教高手们,实现算法的语言不限,请各位高手不吝赐教
展开
 我来答
bqjmm15
2010-11-27 · TA获得超过266个赞
知道答主
回答量:441
采纳率:0%
帮助的人:305万
展开全部
一开始没看见度要是2,哈哈
算法中的+1就是访问中根节点

typedef struct {
Tree *left;
Tree *left;
int data;////节点数据存储点,类型任意
} Tree ;

int treeNodeCount(*Tree t)
{
if(t==null)
return 0;
else {
if ((t->left!=null)&&(t->right!=null))
return treeNodeCount(t->left)+1+treeNodeCount(t->right);
else return 0;
}
}
你的算法也是可以的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式