21xrx.com
2024-12-22 21:36:50 Sunday
登录
文章检索 我的文章 写文章
C++上机考试题及答案
2023-06-27 04:45:43 深夜i     --     --
C++ 上机考试 考试题 答案 编程语言

近日,一场关于C++的上机考试在各大高校中引起了广泛的关注。考试内容涉及红黑树、图论、动态规划等多个知识点,难度可谓是相当高。下面,笔者将为大家分享该考试题目及其答案,让大家对C++的知识点有更深入的了解。

第一道题目:求一个数的平方根,保留小数点后六位。

解答代码:

#include

double s, x, l = 0, r;

int main() {

  scanf("%lf", &s);

  r = s;

  while(r - l > 1e-9) {

    x = (l + r) / 2;

    if(x * x < s) l = x; else r = x;

  }

  printf("%.6f", l);

  return 0;

}

第二道题目:判断一条链表是否有环。

解答代码:

bool hasCycle(ListNode *head) {

  if (head == NULL)

    return false;

  ListNode* fast = head->next;

  ListNode* slow = head;

  while (fast != NULL && fast->next != NULL && slow != NULL) {

    if (fast == slow)

      return true;

    fast = fast->next->next;

    slow = slow->next;

  }

  return false;

}

第三道题目:求一个二叉树的最大深度。

解答代码:

int maxDepth(TreeNode* root) {

  if(root == NULL)

    return 0;

  return max(maxDepth(root->left), maxDepth(root->right)) + 1;

}

第四道题目:判断字符串是否为回文串。

解答代码:

bool isPalindrome(string s) {

  string temp_str;

  for (int i = 0; i < s.length(); i++) {

    if (isalpha(s[i]) || isdigit(s[i])) {

      temp_str += tolower(s[i]);

    }

  }

  string str1 = temp_str;

  reverse(str1.begin(), str1.end());

  if (temp_str == str1)

    return true;

  else

    return false;

}

通过以上的题目及答案,我们可以看出,C++编程知识点的考察并不仅仅是简单的语法规则,更是需要在实际问题中进行处理和运用。在此,我们建议大家在学习C++编程语言时,注重理论知识的同时,还要多多加强实战训练,从而让自己掌握更加全面深入的编程能力。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复