阿拉善盟网站建设_网站建设公司_Vue_seo优化
2025/12/24 20:19:31 网站建设 项目流程

实验任务4

源代码

#include <stdio.h>
#include <ctype.h>int main(){
FILE *fp;
char ch;
int lines=0;
int chars=0;fp=fopen("data4.txt","r");
if(fp==NULL){printf("文件打开失败!\n");return 1;
}while((ch=fgetc(fp))!=EOF){if(ch=='\n'){lines++;}else if(!isspace(ch)){chars++;}
}if(chars>0&&lines==0){lines=1;
}else if(ch!='\n'){lines++;
}fclose(fp);printf("data4.txt统计结果:\n");
printf("行数:\t\t%d\n",lines);
printf("字符数(不计空白符):\t%d\n",chars);return 0;
}

运行结果

bky7.4

实验任务5

源代码

#include <stdio.h>
#include <string.h>#define N 10typedef struct {
long id;
char name[20];
float objective;
float subjective;
float sum;
char result[10];
}STU;void read(STU st[],int n);
void write(STU st[],int n);
void output(STU st[],int n);
int process(STU st[],int n,STU st_pass[]);int main(){
STU stu[N],stu_pass[N];
int cnt;
double pass_rate;printf("从文件读入%d个考生信息...\n",N);
read(stu,N);printf("\n对考生成绩进行统计...\n");
cnt=process(stu,N,stu_pass);printf("\n通过考试的名单:\n");
output(stu,N);
write(stu_pass,cnt);pass_rate=1.0*cnt/N;
printf("\n本次等级考试通过率: %.2f%%\n",pass_rate*100);return 0;
}void output(STU st[],int n){
int i;
printf("%-12s%-10s%-15s%-15s%-10s%-8s\n","准考证号","姓名","客观题得分","操作题得分","总分","结果");
for(i=0;i<n;i++){printf("%-12ld%-10s%-15.2f%-15.2f%-10.2f%-8s\n",st[i].id,st[i].name,st[i].objective,st[i].subjective,st[i].sum,st[i].result);
}
}void read(STU st[],int n){
int i;
FILE *fin;
fin=fopen("examinee.txt","r");
if(!fin){printf("fail to open file\n");return;
}
for(i=0;i<n;i++){fscanf(fin,"%ld %s %f %f",&st[i].id,st[i].name,&st[i].objective,&st[i].subjective);
}
fclose(fin);
}void write(STU s[],int n){
int i;
FILE *fout;
fout=fopen("list_pass.txt","w");
if(!fout){printf("fail to open file\n");return;
}
fprintf(fout,"%-12s%-10s%-15s%-15s%-10s%-8s\n","准考证号","姓名","客观题得分","操作题得分","总分","结果");
for(i=0;i<n;i++){fprintf(fout,"%-12ld%-10s%-15.2f%-15.2f%-10.2f%-8s\n",s[i].id,s[i].name,s[i].objective,s[i].subjective,s[i].sum,s[i].result);
}
fclose(fout);
}int process(STU st[],int n,STU st_pass[]){
int i,j=0;
for(i=0;i<n;i++){st[i].sum=st[i].objective+st[i].subjective; if(st[i].sum>=60){strcpy(st[i].result,"通过");st_pass[j]=st[i];j++;}else{strcpy(st[i].result,"不通过");}
}
return j;
}

运行结果

bky7.5

bky7.5

实验任务6

源代码

#define STUDENT_NUM 80  
#define LINE_LEN 100    int main(){char students[STUDENT_NUM][LINE_LEN];int flag[STUDENT_NUM]={0};int lucky[5];char filename[50];FILE *fp_read,*fp_write;int i,count=0,rand_idx;fp_read=fopen("D:\\fhe07\\Documents\\list.txt","r");if(fp_read==NULL){printf("list.txt文件打开失败!\n");return 1;}for(i=0;i<STUDENT_NUM&&fgets(students[i],LINE_LEN,fp_read)!=NULL;i++);fclose(fp_read);srand((unsigned int)time(NULL));while(count<5){rand_idx=rand()%STUDENT_NUM;if(flag[rand_idx]==0){lucky[count++]=rand_idx;flag[rand_idx]=1;}}printf("----------中奖名单----------\n");for(i=0;i<5;i++){printf("%s",students[lucky[i]]);}printf("----------保存到文件----------\n");printf("输入文件名:");scanf("%s",filename);fp_write=fopen(filename,"w");if(fp_write==NULL){printf("文件创建失败!\n");return 1;}for(i=0;i<5;i++){fputs(students[lucky[i]],fp_write);}fclose(fp_write);printf("保存成功!\n");return 0;
}

运行结果

bky7.6

bky7.6

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询