大家好,欢迎来到IT知识分享网。
第1关:文件内容复制
#include <stdio.h> #include <stdlib.h> int fun(char *source, char *target) {
FILE *fs,*ft; char ch; /* 在以下一行填写代码 */ if((fs=fopen(source, "r"))==NULL) // (1) return 0; if((ft=fopen(target, "w"))==NULL) return 0; printf("\nThe data in file :\n"); ch=fgetc(fs); /* 在以下一行填写代码 */ while(!feof(fs)) // (2) {
putchar( ch ); /* 在以下一行填写代码 */ fputc(ch, ft); // (3) ch=fgetc(fs); } fclose(fs); fclose(ft); printf("\n\n"); return 1; } int main() {
char sfname[20] ="myfile1",tfname[20]="myfile2"; FILE *myf; int i; char c; myf=fopen(sfname,"w"); printf("\nThe original data :\n"); for(i=1; i<30; i++) {
c='A'+rand()%25; fprintf(myf,"%c",c); printf("%c",c); } fclose(myf); printf("\n\n"); if (fun(sfname, tfname)) printf("Succeed!"); else printf("Fail!"); return 0; }
第2关:文件储存平方根
#include <math.h> #include <stdio.h> int fun(char *fname) {
FILE *fp; int i, n; float x; if ((fp = fopen(fname, "w")) == NULL) return 0; for (i = 1; i <= 10; i++) /* 在以下一行填写代码 */ fprintf(fp, "%d %f\n", i, sqrt((double)i)); printf("\nSucceed!!\n"); /* 在以下一行填写代码 */ fclose(fp); printf("\nThe data in file :\n"); /* 在以下一行填写代码 */ if ((fp = fopen(fname, "r")) == NULL) return 0; fscanf(fp, "%d%f", &n, &x); while (!feof(fp)) {
printf("%d %f\n", n, x); fscanf(fp, "%d%f", &n, &x); } fclose(fp); return 1; } int main() {
char fname[] = "myfile3.txt"; fun(fname); return 0; }
第3关:计算平均分
#include <stdlib.h> // 添加此头文件 #define N 10 typedef struct {
char no[15]; char name[10]; float score[3]; float aver; } STU; void Input_Info(STU a[], int n) {
for (int i = 0; i < n; i++) {
scanf("%s %s %f %f %f", a[i].no, a[i].name, &a[i].score[0], &a[i].score[1], &a[i].score[2]); a[i].aver = (a[i].score[0] + a[i].score[1] + a[i].score[2]) / 3.0; } } void Write_Info(STU a[], int n){
FILE *fd = fopen("record", "wb"); // 以二进制写入打开文件 if (fd == NULL) {
printf("Failed to open file.\n"); exit(1); } fwrite(a, sizeof(STU), n, fd); // 将结构体数组写入文件 fclose(fd); }
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/144259.html