C语言求助,感觉思路没问题,输出也对,但只得了30分。

P2141 [NOIP2014 普及组] 珠心算测验

问题已解决,是我之前考虑欠佳。 以下为AC代码。 ```c #include<stdio.h> int main() { int n, i, j, k, count = 0; int numbers[100]; scanf_s("%d", &n); for (i = 0; i < n; i++) { scanf_s("%d", &numbers[i]); } int mark[100]; for (i = 0; i < n; i++) { mark[i] = 0; } for (i = 0; i < n; i++) { for (j = i + 1; j < n; j++) { for (k = 0; k < n; k++) { if (mark[k] == 0 && k != i && k != j && numbers[i] + numbers[j] == numbers[k]) { count++; mark[k] = 1;//标记一下,表明这个数已经做过两数之和了 continue; }//注意:1+4=5和2+3=5这也算重复 } } } printf("%d", count); return 0; } ```
by ZhaoruBUPT @ 2020-02-09 12:42:03


|