关于随机选题的程序
下面这个哪有错啊,怎么有错误,请各位高手帮忙,假如有更好的源代码,那就更好了。谢谢!!!!!!!!!!!#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define MaxN 1001 //最大课程数
#define M 3 //题目数
bool Hash[MaxN];
int cmp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;
}
int main()
{
int N,i;
int Pro_No[M];
char Stu_No[21];
FILE *f;
scanf("%d",&N);//题目个数n
for(i=1; i<=N; ++i)
{
Hash[i]=true;
}
scanf("%s",Stu_No);//学号
i=0;
while(i<M)
{
if(Hash[(rand()%N)+1])
{
Hash[(rand()%N)+1]=false;
Pro_No[i]=(rand()%N)+1;
++i;
}
}//生成M个不重复的题号
qsort(Pro_No,M,sizeof(int),cmp);//排序
/*写入*/
if((f=fopen("d:\\ProblemNo.txt","w"))==NULL)
{
printf("File open error!\n");
return 0;
}
else
{
for(i=0; i<M; ++i)
{
fprintf(f,"%d\n",Pro_No[i]);
}
}
fclose(f);
return 0;
}
[ 本帖最后由 zhaodashi 于 2011-6-15 15:59 编辑 ]