题目来自Lintcode
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int aa=0;
int sum[5] = {1,2,3,4,5};
for (int i = 0; i < sizeof(sum)/4; i++)
{
for (int j = i+1; j < sizeof(sum) / 4; j++)
{
for (int k = j+1; k < sizeof(sum) / 4; k++)
{
if (sum[i] + sum[j] > sum[k] && sum[i] + sum[k] > sum[j] && sum[k] + sum[j] > sum[i]) {
++aa;
printf("第%d种:%d %d %d\n",aa, sum[i], sum[j], sum[k]);
}
}
}
}
}
输出示例:
注意事项:
我这里是指定了一个数组,实际情况是数组的数由用户输人,并且返回值为共有几种情况。可以使用C++的vector或Java的ArrayList。
通常做这种题目的时候我只是先把思路写出来,在随便输入几个示例看是否运行正常。所以并没有达到能够直接提交代码的地步。你们只要参考思路就行,不要计较那么多。
谁叫我是菜鸟呢。