1.题目如下
2.解题代码
#include<stdio.h> #include<stdlib.h> int finMissMin(int a[],int n) { int i,*b; b=(int *)malloc(sizeof(int)*n); //初始化为0 for(i=0;i<n;i++) { b[i]=0; } for(i=0;i<n;i++) { if(a[i]>0&&a[i]<=n) { b[a[i]-1]=1; } } for(i=0;i<n;i++) { if(b[i]==0)break; } return i+1; } int main(){ int a[]={1,2,3}; int b=finMissMin(a,3); printf("未出现的最小正整数为:%d",b); return 0; }
3.解题思路