实验7

3.

输出了按分数由高→低排序的信息;生成了文本文件file3.dat;数据信息正确且直观可读

4.

(1)

屏幕上正确输出了按分数由高到底排序的学生信息,生成了二进制文件file4.dat。

用记事本打开文件,不直观可读。

(2)

#include <stdio.h> 
#include <stdlib.h>
#define N 10
typedef struct student {
    int num;
    char name[20];
    int score;
}STU;
void sort(STU *pst, int n);
int main() {
    FILE *fin;
    STU st[N];
    int i;
    fin = fopen("file4.dat", "rb");
    if( !fin ) 
    {
        printf("fail to open file4.dat\n");
        exit(0);
    }
    fread(st,sizeof(STU),N,fin);
    fclose(fin);
    for(i=0;i<N;i++)
        printf("%-6d%-10s%3d\n",st[i].num,st[i].name,st[i].score);
    return 0;
}

5.

#include <stdio.h>
#include<stdlib.h>
#include <string.h>
const int N = 10;
typedef struct student 
{
    long int id;
    char name[20];
    float objective;    
    float subjective;    
    float sum;
    char level[10];    
}STU; 
void input(STU s[], int n);
void output(STU s[], int n);
void process(STU s[], int n);
int main() 
{
    STU stu[N];
    printf("录入%d个考生信息: 准考证号,姓名,客观题得分(<=40),操作题得分(<=60)\n", N); 
    input(stu, N);
    printf("\n对考生信息进行处理: 计算总分,确定等级\n");
    process(stu, N);
    printf("\n打印考生完整信息: 准考证号,姓名,客观题得分,操作题得分,总分,等级\n");
    output(stu, N); 
    return 0;
} 
void input(STU s[], int n) 
{
    FILE *fin;
    int i;
    fin=fopen("examinee.txt","r"); 
    if(!fin)
    {
        printf("fail to open examinee.txt\n");
        exit(0);
    }
    for(i=0;i<N;i++)
        fscanf(fin,"%d%s%f%f",&s[i].id,&s[i].name,&s[i].objective,&s[i].subjective);
    fclose(fin);
}
void output(STU s[], int n) 
{
    FILE *fout;
    int i;
    fout=fopen("result.txt","w");
    if(!fout)

 

总结。

 最后一次实验了,emm感觉过得挺快的。其实本身对这门课程不是很上心,有些时候做完任务匆匆了事(当然刚开始比较认真,一开始事情也没那么多,后期的时候个人杂事比较多,没什么精力)。不过我感觉还是在这门课程里收获了许多,不单单是c编程知识,又或是一些编程技能,我觉得更是一些计算思维编程素养。对一个问题分析到最简单的一个单元,化繁为简,最终实现一个复杂的目标(虽然我觉得离这个目标非常非常的远,不过好在也能实现一些简单的,不算啥都没有)其实也有点像老师说的,这些思维也同样可以适用于生活当中,把一个问题抽象化,让它具有普世的规律,能解决些普世的问题(有点像简单重复性的工作交给循环语句来解决)。不过很可惜的是,我对课程中还有许多地方没有深入了解,或者说是可以更进一步的地方(分治,归纳,迭代,递归,并行)希望在未来的时间里有机会再与他们好好接触。

posted @ 2020-12-28 09:03  张白枫  阅读(60)  评论(0编辑  收藏  举报