C语言提高-39讲: 动态存储管理与动态数组的实现(实践)

任务和代码(一):学生人数没个准

  /* 
*All rights reserved 
*文件名称:main.c 
*作者: Osseyda 
完成日期:2017.11.1 
*版本号:v2. 
*问题描述:输入学生成绩,输出高于平均成绩的学生序号和成绩。
其中学生人数不定,可能10个,可能1000。在录入成绩之前,学生人数由键盘输入。
*问题输出:考虑学生人数不定,用动态数组是个更适合的方案。
*/   
    #include <stdio.h>
    #include <stdlib.h>
    int main(){
        int number,i;        //学生人数
        int *score;        //动态数组的首地址
        int sum=0,ave;     //成绩和、均分
        //输入学生人数,为动态数组score分配合适大小的空间
        printf("输入学生人数:");
        scanf("%d",&number);
        score=(int*)malloc(number*sizeof(int));
        //读入学生成绩,并求出成绩和
        printf("输入学生成绩:\n");
        for(i=0;i<number;i++){
            scanf("%d",score+i);
            sum+=score[i];
        }
        //求平均成绩
        ave=sum/number;
        printf("平均成绩:%d\n&
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
原创代码+报告(用的是数组)   设计一个请求页式存储管理方案。并编写模拟程序实现之。要求包含:   1.过随机数产生一个指令序列,共320条指令。其地址按下述原则生成:   ①50%的指令是顺序执行的;   ②25%的指令是均匀布在前地址部;   ③25%的指令是均匀布在后地址部;   #具体的实施方法是:      在[0,319]的指令地址之间随机选区一起点M;      顺序执行一条指令,即执行地址为M+1的指令;      在前地址[0,M+1]中随机选取一条指令并执行,该指令的地址为M’;      顺序执行一条指令,其地址为M’+1;      在后地址[M’+2,319]中随机选取一条指令并执行;      重复A—E,直到执行320次指令。   2.指令序列变换成页地址流    设:(1)页面大小为1K;       用户内存容量为4页到32页;        用户虚存容量为32K。   在用户虚存中,按每K存放10条指令排列虚存地址,即320条指令在虚存中的存放方式为:    第0条—第9条指令为第0页(对应虚存地址为[0,9]);    第10条—第19条指令为第1页(对应虚存地址为[10,19]);    。。。。。。。。。。。。。。。。。。。。。    第310条—第319条指令为第31页(对应虚存地址为[310,319]);   按以上方式,用户指令可组成32页。   3. 计算并输出下述各种算法在不同内存容量下的命中率。      FIFO先进先出的算法      LRR最近最少使用算法      OPT最佳淘汰算法(先淘汰最不常用的页地址)      LFR最少访问页面算法      NUR最近最不经常使用算法

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值