大佬 小弟初来 有个问题希望可以得到解决
#include<stdio.h>#include<stdlib.h>
#include<string.h>
#include<time.h>
#include<conio.h>
struct student
{
char Name[10];
char NO[15];
char Sex[2];
}stu[110];
char hhh[110]={0};
int main()
{
int i=0,j=0,flag=0,RN,*a;
FILE *fp;
char ch,filename[20]={0},line[110]={0};
printf("请输入保存学生数据的文本:");
gets(filename);
fp=fopen(filename,"r");
printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf("名单如下:\n");
printf("姓名\t 学号\t性别\n");
while(fgets(line,sizeof(line)-1,fp))
{
if(line[0]!='\0'&&line[0]!=' ')
{
sscanf(line,"%s %s %s",stu[i].Name,stu[i].NO,stu[i].Sex);
printf("%s\t%s\t%s\n",stu[i].Name,stu[i].NO,stu[i].Sex);
i++;
}
}
printf("三个班共有%d名学生\n",i);
srand((unsigned)time(NULL));
a=(int*)malloc(sizeof(int)*i);
memset(a,0,sizeof(a));
printf("按空格键点名,其他键退出:");
fflush(stdin);
while((ch=getch())==' ')
{
if(flag==i)
{
printf("点名结束");
break;
}
RN=rand()%i;
while(hhh[RN]==1)
RN=rand()%i;
flag++;
printf("\n~~~~~~~~~~~~~~~~~~~~~~~~~~\n%s\t%s\t%s\n~~~~~~~~~~~~~~~~~~~~~~~~~~\n",\
stu[RN].Name,stu[RN].NO,stu[RN].Sex);
hhh[RN]=1;
}
}