由于没做过ACM的题目,昨天机试吃了大亏,一直在纠结输入输出格式,结果惨不忍睹,在这里记录下。
机试题目的测试用例都放在某个文件中,OJ会读取每行用例,对输出进行判断,直到读到文件末尾。
机考的时候自己以为是一次输入多行,然后多行输出,其实是输入一行,输出一行,直到文件末尾。
#include <stdlib.h> #include <stdio.h> #define MAX_SIZE 4098 void printArr(int a[],int len){ int i; for(i=0;i<len-1;i++){ printf("%d,",a[i]); } printf("%d\n",a[i]); } int in_array(int a[],int p,int len){ int i; for(i=0;i<len;i++){ if(a[i]==p){ return 1; } } return 0; } void del(int a[],int len){ int b[MAX_SIZE]; int i,j=0; for(i=0;i<len;i++){ if(!in_array(b,a[i],len)){ b[j]=a[i]; j++; } } printArr(b,j); } int main(){ int a[MAX_SIZE]; int i=0; char c; while(scanf("%d",&a[i])!=EOF){ i++; c=getchar(); if(c== '\n'){ del(a,i); //printArr(a,i); i=0; } } return 1; }
运行: