#include <stdio.h> #include <stdlib.h> /* 给定含有n个元素的数组, 其中存放了1-(n-1)之内的整数, 只有一个整数是重复的, 请找出这个数 */ /* 思路: num[0]+...+num[n-1] - (1+...+n) */ int main(){ int n; while (printf("Please input n:\n"), fflush(stdin), scanf("%d", &n) != EOF){ int *numbers = (int*)malloc(n*sizeof(int)); for (int i = 0; i < n; ++i) scanf("%d", numbers + i); int sum = 0; for (int i = 0; i < n; ++i) sum += numbers[i]; printf("%d\n",sum - (int)(n-1)*n/2); } system("pause"); return 0; }