题目1375:陈博的完美主义(25分)----------------题目中对输入数字的长度有要求,所以输入字符串,用atoi()转换函数

#include<iostream>
#include<stdlib.h>
#include<cstring>
using namespace std;

int a[100001];
char c[100];
int main()
{
    int N;
    while(cin>>N)
    {
        int i,j,k;
        for(i=0;i<100001;i++) a[i]=0;
        for(i=0;i<N;i++)
        {
            cin>>c;
            if(strlen(c)<=100)
            {
                k=atoi(c); 
                if (k>=1 && k<=N)//非常关键,否则会running time error
                    a[k]++;
            }
        }
        int need=0;
        for(i=1;i<=N;i++)
        {
            if(a[i]==0) need++;
        }
        cout<<need<<endl;
    }
    return 0;
}
原文地址:https://www.cnblogs.com/jianrenguo/p/6548356.html