【C语言】2023.8.27C语言入学考试复盘总结

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 【C语言】2023.8.27C语言入学考试复盘总结

前言

本篇文章记录的是对于2023年8月27日的

C语言

的入学考试的整理总结

成绩:220/240

题目:9/12

错题整理

首先先对于我没做出来的三道题做一个整理

错题1:7-4 分段函数PLUS

题干

以下是一个二元分段函数,请你根据所给的函数公式,输出对应的值。

输入格式: 输入两个实数x和y。

输出格式: 输出对应的函数值f(x,y),结果保留两位小数

输入样例: 在这里给出一组输入。例如:

1 1

输出样例: 在这里给出相应的输出。例如:

2.00

答案

#include<stdio.h>
#include<math.h>
int main()
{
  double x = 0;
  double y = 0;
  scanf("%lf %lf", &x, &y);
  double sum = 0;
  if (x + y > 0)
  {
    sum = pow(x, 3) + pow(y, 3);
  }
  else if (x > -5)
  {
    sum = sqrt(pow(x, 2) + pow(y, 2));
  }
  else if (x <= -5 && y - x + 1 > 0)
  {
    sum = x / (y - x + 1);
  }
  else
  {
    if (x == (int)x)
    {
      sum = -x;
    }
    else
    {
      sum = (double)((int)-x + 1);
    }
  }
  printf("%.2f\n", sum);
  return 0;
}

错因

这道题乍一看不是很常规的一道题吗,

但是里面有一个小的知识点,我刚好不会,就在这里丢了两分

知识点:向上取整⌊ ⌋和向下取整⌈ ⌉符号

向上取整:⌊ ⌋

含义是比自己大的最小的整数

在C语言中对应的是ceil()函数

向下取整:⌈ ⌉

含义是比自己小的最小的整数

在C语言中对应的是floor()函数

此处再复习一下round()函数

round函数返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果,此处不做详细介绍,知道这个函数用于四舍五入即可

错题2:7-8 高塔塔高

题干

如下图,有一座高塔,现要测量其塔高CD。

塔附近有一观测平台,其高AB为h,一名观测员位于点A处,经测量得知∠DAE=α,∠CAE=β,请你求出塔高CD的长度。(取π=3.14,结果四舍五入,保留两位小数)

输入格式: 第一行,给出一个浮点数h,表示AB的高度,单位为米。 第二行,给出两个浮点数α、β,表示∠DAE、∠CAE的大小,单位为度。

输出格式: 如果α或β超过90,或无法根据已知条件计算出塔高CD(即h为0或∠DAE为0),请直接输出“That’s

impossible.” 否则,输出一个浮点数,表示塔高CD的大小,单位为米,结果四舍五入,保留两位小数。

输入样例: 在这里给出一组输入。例如:

15.00

30.00 30.00 输出样例: 在这里给出相应的输出。例如:

30.00

答案

#include<stdio.h>
#include<math.h>
int main()
{
  double h = 0;
  double a = 0;
  double b = 0;
  double a1 = 0;
  double b1 = 0;
  double pi = 3.14;
  scanf("%lf %lf %lf", &h, &a, &b);
  if (h == 0)
  {
    printf("That's impossible.\n");
    return 0;
  }
  a1 = a * pi / 180;
  b1 = b * pi / 180;
  if (a >= 90 || b >= 90 || a <= 0 || b <= 0)
  {
    printf("That's impossible.\n");
    return 0;
  }
  double num = 0;
  num = h * tan(b1) / tan(a1);
  printf("%.2f", num + h);
  return 0;
}

错因

也是很简单的一道题

但是,我还是考虑的不够周到,题目给出提示当a或b>=90°时,输出不可能

而当a或b<=0°时,却是需要自己想到的,做题的时候还是不够细心

错题3:7-11 附加题-凯撒密码

题干

在密码学中,凯撒密码是一种简单而广为人知的加密技术。在加密过程中,由密码的设定者设置一个偏移量key,再将原始密码的每一位按字母表顺序周期性地向后偏移key个单位(若key为负值,则表示向前偏移),这样就得到了加密后的凯撒密码。译码过程便是加密过程的逆过程。

在这道题目中,请你根据所给的条件,编写凯撒密码的加密功能和译码功能。

输入格式:

第一行,输入一个字符串s,只由大小写字母和空格组成,表示待处理的密码。

第二行,两个整数opt和key,分别表示需要执行的操作选项及凯撒密码的偏移量。(−25

其中,当opt值为1时,执行加密操作;当opt值为2时,执行译码操作;否则,不执行任何操作,直接输出字符串s。(不论opt值为多少,请在输出时将所有的英文字母转化为大写字母)

输出格式: 请按照要求输出加密或译码后的密码。

输入样例:

I love XATU

1 3

输出样例:

L ORYH ADWX

样例解释:

在英文字母表中,I的后三位是L,L的后两位是O,以此类推。其中,X周期性地后移三位,分别为X->Y->Z->A。

答案

#include <stdio.h>
#include <string.h>
int main()
{
  char s[10010];
  int opt, key;
  scanf("%[^\n]%d%d", &s, &opt, &key);
  int length = strlen(s);
  for (int i = 0; i < length; i++)
  {
    if ('a' <= s[i] && s[i] <= 'z')
    {
      s[i] += 'A' - 'a';
    }
  }
  if (opt == 1)
  {
    for (int i = 0; i < length; i++)
    {
      if (s[i] != ' ')
      {
        s[i] = 'A' + (s[i] - 'A' + key + 26) % 26;
      }
    }
  }
  else if (opt == 2)
  {
    for (int i = 0; i < length; i++)
    {
      if (s[i] != ' ')
      {
        s[i] = 'A' + (s[i] - 'A' - key + 26) % 26;
      }
    }
  }
  printf("%s", s);
  return 0;
}

对于非字母的字符直接对26取余即可,不用做那么复杂,还是在写之前没想好

错因

这道题还是比较有意思的

是我想的太复杂了,还是在做题的时候没认真想,说有啥思维含量吧,看完答案一琢磨也没啥可出错的,还是着急了(捂脸

整体总结

这次测试不难,但对于基础知识还是掌握得不够牢固,

不熟练的知识点

对于C语言函数的掌握,比如取整函数、字母大小写转换函数,

需要提升的地方

基础知识里的一些小漏洞就在做题中去修补,

接下来需要去提升一下自己做题时的思维,以及可以去接触一些cpp的知识了

总结

还是需要多做一些练习,有时间我可能会整理一下这几天的刷题记录,但可能得很久之后了,因为要军训…

已经歇了很久了,继续努力吧,

加油! 学就完事了,冲!!!




相关文章
C4.
|
6月前
|
存储 算法 C语言
关于c语言用计算机语言表示算法
关于c语言用计算机语言表示算法
C4.
67 1
|
6月前
|
算法 数据库 C语言
简单谈谈我参加计算机二级C语言的考试感受
计算机二级c语言主要内容是熟练掌握C语言基础语法,了解常用数据结构和算法,能够使用C语言进行程序设计,编写简单的应用程序。 计算机二级C语言试卷类型: + 选择题 + 程序填空题 + 程序改错题 + 程序设计题 这四个部分组成,其中大题目的分数占60分。
70 0
|
C语言
码蹄杯语言基础:选择结构(C语言)
码蹄杯语言基础:选择结构(C语言)
100 0
|
1月前
|
存储 程序员 编译器
初识C语言,计算机语言的基石
初识C语言,计算机语言的基石
|
5月前
|
算法 Java 程序员
面向对象编程(OOP)通过对象组合构建软件,C语言虽是过程式语言,但可通过结构体、函数指针模拟OOP特性
【6月更文挑战第15天】面向对象编程(OOP)通过对象组合构建软件,C语言虽是过程式语言,但可通过结构体、函数指针模拟OOP特性。封装可使用结构体封装数据和方法,如模拟矩形对象。继承则通过结构体嵌套实现静态继承。多态可通过函数指针模拟,但C不支持虚函数表,实现复杂。C语言能体现OOP思想,但不如C++、Java等语言原生支持。
64 7
|
5月前
|
C语言 C++ 编译器
【C++语言】冲突-C语言:输入输出、缺省参数、引用、内联函数
【C++语言】冲突-C语言:输入输出、缺省参数、引用、内联函数
【C++语言】冲突-C语言:输入输出、缺省参数、引用、内联函数
|
5月前
|
算法 搜索推荐 程序员
C语言程序设计考试掌握这些题妥妥拿绩点(写给即将C语言考试的小猿猴们)
C语言程序设计考试掌握这些题妥妥拿绩点(写给即将C语言考试的小猿猴们)
39 0
|
5月前
|
C语言 C++
【C++语言】冲突-C语言:命名空间
【C++语言】冲突-C语言:命名空间
|
C语言
码蹄杯语言基础:结构体2(C语言)
码蹄杯语言基础:结构体2(C语言)
66 1
|
C语言
码蹄杯语言基础:指针(C语言)
码蹄杯语言基础:指针(C语言)
150 1