#include <stdio.h> #include<malloc.h> /* 从非负整数序列 0, 1, 2, ..., n中给出包含其中n个数的子序列,请找出未出现在该子序列中的那个数。 */ //思路,开辟两个数组,一个数组用于接收序列,一个作为标记数组,把出现过的数放入标记数组,且记为1,遍历标记数组,为0 即为所求 int main() { int n, m, num; scanf("%d", &n); int* a = (int*)malloc(50* sizeof(int)); int* nums = (int*)malloc(50* sizeof(int)); int i; for (i = 0; i < n; i++) scanf("%d", &a[i]); for (i = 0; i < n; i++) { m = a[i]; nums[m] = 1; } for (i = 0; i < n; i++) { if (nums[i] == 0) num = i; } printf("%d\n", num); free(a); free(nums); }