没有具体的题目,大概是这样的,20000个数存储于二进制文件中,读取出来之后求其中的最大子集,其中两两互相不为倍数,不为约数,最大公约数为1,然后输出到指定文件中。
看得出来,该校常见的题目是,c语言对于文件内容输入输出,辅以字符、数字的处理,常见统计、素数等的操作。
以下是代码
1.首先生成20000个数,据说各个数小于500,且挖去了三个数。
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int* data;
FILE* fr;
data=(int*)malloc(sizeof(int)*20000);
srand(time(NULL));
for(int i=0;i<20000;i++)
{
data[i]=rand()%500+1;
if(data[i]==3||data[i]==5||data[i]==7)
{
i=i-1;
}
}
fr=fopen("input.dat","wb");
fwrite(data,sizeof(int),20000,fr);
free(data);
fclose(fr);
return 0;
}
2.对文件进行读取、处理,写入
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include&