美文网首页
编程考试总结

编程考试总结

作者: 望望明月 | 来源:发表于2020-05-22 23:11 被阅读0次

0522 考试总结

1.应该有思路的情况,就可以全部都做,如果前两道有一道有思路,就直接快速解决,马上做第3题。

习题3暴露出来的问题 -- :

1.输入与输出不熟练,卡了很久没有搞明白 get_s 和 scanf_s 为什么会出现get少了一个字符

2.输出结果一直不正确

--- 这一题其实已经完全做出来了,但输入输出一直没有搞对,现在的输入输出是可以的,待确认。

```

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

#include <string.h>

#define TOTAL_MEM  100

#define BUF_LEN      64

#define OUT_BUF_LEN  64

int g_pool[TOTAL_MEM] = {0};

int g_allocSize[TOTAL_MEM] = {0};

void MemPoolInit(void)

{

int i;

for (i = 0; i < TOTAL_MEM; i++) {

g_pool[i] = 0;

g_allocSize[i] = 0;

}

}

int MemPoolRequest(int memSize)

{

int i;

int cnt = 0;

int ret = TOTAL_MEM;

if (memSize == 0) {

return -1;

}

for (i = 0; i < TOTAL_MEM; i++) {

if (g_pool[i] == 0) {

cnt++;

if (cnt >= memSize) {

ret = i - memSize + 1;

break;

} else {

cnt = 0;

}

}

}

if (ret == TOTAL_MEM) {

return -1;

}

for (i = ret; i < ret + memSize; i++) {

g_pool[i] = 1;

}

g_allocSize[ret] = memSize;

return ret;

}

int MemPoolRelease(int startAddr)

{

int i = 0;

if ((startAddr > TOTAL_MEM - 1) || g_allocSize[startAddr] == 0) {

return -1;

}

for (i = startAddr; i < startAddr + g_allocSize[startAddr]; i++) {

g_pool[i] = 0;

}

g_allocSize[startAddr] = 0;

return 0;

}

int main(int argc, char *argv[])

{

int n = 0;

static char buf[BUF_LEN] = {0};

int i = 0;

int info;

int ret;

if (scanf("%d\n", &n) != 1) {

return -1;

}

MemPoolInit();

for (i = 0; i < n; i++) {

if (NULL == gets(buf)) {

return -1;

}

info = atoi(buf + 8);

if (buf[2] == 'Q') {

ret = MemPoolRequest(info);

if (ret != -1) {

(void)printf("%d\n", ret);

} else {

(void)printf("error\n");

}

} else if (buf[2] == 'L') {

ret = MemPoolRelease(info);

if (ret != 0) {

(void)printf("error\n");

}

}

}

return 0;

}

```

习题1暴露出来的问题 -- :

1.没有最优解的概念,一上来还是沿用自己的思路在解题

2.导致也花费了不少的时间

-- 其实自己已经给出了较为优解的方案,也AC通过了,只是不自信。

习题2暴露出来的问题 -- 矩形面积:

1.没有思路,疯狂乱怼

2.耗费大量时间

-- 此题,思路相近,为什么没有做出来,需要进一步分析清楚。

```

#include <stdio.h>

#include <math.h>

#define MAXN    100000

int g_high = 0;

unsigned int GetMinArea(int **opers, int curCnt)

{

unsigned int curArea = 0;

if (curCnt == 0) {

return 0;

}

g_high = g_high + opers[curCnt - 1][1];

curArea = (opers[curCnt][0] - opers[curCnt - 1][0]) * abs(g_high);

return curArea;

}

int main(int argc, char *argv[])

{

int n = 0;

int stopPoint = 0;

static int buf[MAXN][2] = {0};

static int *opers[MAXN];

int i;

unsigned int ret = 0;

for (i = 0; i < MAXN; i++) {

opers[i] = NULL;

}

if (scanf("%d %d", &n, &stopPoint) == EOF) {

return -1;

}

for (i = 0; i < n; i++) {

if (scanf("%d %d", &buf[i][0], &buf[i][1]) == EOF) {

return -1;

}

opers[i] = buf[i];

ret += GetMinArea(opers, i); // 一次高度计算一次面积

}

// 计算剩余部分的面积

g_high = g_high + opers[i - 1][1];

ret += (stopPoint - opers[i - 1][0])*abs(g_high);

(void)printf("%u", ret);

return 0;

}

```

相关文章

  • 编程考试总结

    0522 考试总结 1.应该有思路的情况,就可以全部都做,如果前两道有一道有思路,就直接快速解决,马上做第3题。 ...

  • 编程考试再总结

    小帅昨天编程考级,图形化一级。其实,在没有考试之前我就已经想好了,无论结果如何,我们尽力而为就好,没想到这次编程考...

  • iOS 图形编程总结

    iOS 图形编程总结 iOS 图形编程总结

  • 全国软件编程等级考试SCRATCH考试大纲

    全国软件编程等级考试SCRATCH考试大纲 Part1 SCRATCH 一级 初步学会使用编程工具,理解编程工具中...

  • iOS 图形编程总结

    图形编程总结

  • 9.25 c++ 总结

    Windows编程基础 总结: 25号开始学习Windows编程基础,MFC编程。Windows和MFS中的字符,...

  • 10个超棒的用于数学的编程语言。

    总结的10个超棒的用于数学的编程语言。 总结的目标在于多样化,为大家提供广泛的编程和问题建模方法。 编程语言描述摘...

  • 2020/5/12 Class12 函数

    开头,考试难度PTA,编程题仅限于上课所讲如果PTA很简单,那么考试轻松。 对于循环来说,领悟循环的编程模式, 对...

  • Python 高级 16 数据库Pymysql

    数据库编程概述、pymysql基本操作方法总结、参数化列表防止SQL注入总结 2.6 Python数据库编程 学习...

  • 考试总结

    1.认真对待每一道题,尽全力答好

网友评论

      本文标题:编程考试总结

      本文链接:https://www.haomeiwen.com/subject/gmooohtx.html