task6
源代码
#include <stdio.h>
#include <stdlib.h>
#include <ctime>
const int N = 100;
struct STU {
int num;
char name[10];
char banji[30];
} s[N], t[N];
void input(STU a[], int n) {
int i;
FILE *fin;
fin = fopen("list.txt", "r");
if (fin == NULL) {
printf("fail to open file\n");
exit(0);
}
while (!feof(fin)) {
for (i = 0; i < n; i++)
fscanf(fin, "%d %s %s", &a[i].num, a[i].name, a[i].banji);
}
fclose(fin);
}
void progress(STU a[], int n) {
int i, x, j = 0;
srand(time(0));
for(i = 1;i <= 5; i++) {
x = rand() % n;
t[j ++] = s[x];
}
}
void output(STU a[], int n) {
int i;
for(i = 0;i < n; i++) {
printf("%d\t%s\t%s\n", a[i].num, a[i].name, a[i].banji);
}
FILE *fout;
fout = fopen("result.txt", "w");
if(!fout) {
printf("fail to open or create result.txt\n");
exit(0);
}
for(i = 0;i < n; i++) {
fprintf(fout, "%d\t%s\t%s\n", a[i].num, a[i].name, a[i].banji);
}
fclose(fout);
}
int main() {
int n = 80;
input(s, n);
progress(s, n);
output(t, 5);
return 0;
}
实验结果



