scheme:
(define (bigsum a b c)
(- (+ a b c) (min a b c)))
(bigsum 1 2 3)
(bigsum 2 3 3)
(bigsum 1 1 3)
(bigsum 1 2 1)
(bigsum 1 9 3)python:
#!/usr/bin/env python
def bigsum(alist):
return sum(alist) - min(alist)
print bigsum([1,2,3])
print bigsum([2,3,3])
print bigsum([1,2,1])
print bigsum([1,1,3])
C,有点丑陋:
#include <stdio.h>
int bigsum(int a, int b, int c) {
return (a + b + c - (a >= b? (b>=c?c:b) : (a>=c?c:a)));
}
int main(int argc, char** argv)
{
printf("%d\n", bigsum(1,2,3));
printf("%d\n", bigsum(1,1,3));
printf("%d\n", bigsum(1,9,3));
printf("%d\n", bigsum(0,0,3));
return 0;
}

本文通过Scheme、Python及C三种语言展示了如何计算三个数中最大两数之和,对比了不同编程语言间的实现方式及其特点。

被折叠的 条评论
为什么被折叠?



