由于没做过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;
}
运行: