21xrx.com
2024-11-22 08:08:43 Friday
登录
文章检索 我的文章 写文章
《C++一本通》习题答案
2023-07-04 19:04:32 深夜i     --     --
C++ 一本通 习题 答案 编程

C++是一门程序设计语言,也是计算机科学中极其重要的一门语言。它在工业生产、科技创新、信息化时代,以及纯粹的编程艺术上都有广泛的应用。对于初学者来说,学习一门新的语言既困难又兴奋。 C++一本通是一本经典的C++编程教材,其中包含了大量的练习题。对于初学者而言,找到正确的答案是非常重要的,所以本文将提供《C++一本通》习题答案,以帮助初学者更好地掌握C++编程技能。

一、基础练习题答案

1.用C++编写一个程序,要求输出“Hello World”。

答案:

#include

using namespace std;

int main()

  cout << "Hello World" << endl;

  return 0;

2.用C++编写一个程序,要求用户输入两个数字,然后输出这两个数字的和。

答案:

#include

using namespace std;

int main()

{

  int a, b;

  cout << "Please input two integers:";

  cin >> a >> b;

  cout << "The sum of these two numbers is:" << a + b << endl;

  return 0;

}

3.用C++编写一个程序,要求用户输入一个整数,然后判断它是否是偶数。

答案:

#include

using namespace std;

int main()

{

  int a;

  cout << "Please input an integer:";

  cin >> a;

  if (a % 2 == 0)

    cout << a << " is an even number." << endl;

  else

    cout << a << " is an odd number." << endl;

  return 0;

}

二、中级练习题答案

1.用C++编写一个程序,要求用户输入一个字符串,然后让程序判断这个字符串是否是回文字符串。

答案:

#include

#include

using namespace std;

int main()

{

  char str[100];

  cout << "Please input a string:";

  cin >> str;

  int len = strlen(str), flag = 1;

  for (int i = 0; i < len / 2; i++)

  {

    if (str[i] != str[len - i - 1])

      flag = 0;

      break;

  }

  if (flag)

    cout << str << " is a palindrome string." << endl;

  else

    cout << str << " is not a palindrome string." << endl;

  return 0;

}

2.用C++编写一个程序,要求用户输入一个整数n,然后输出n层的杨辉三角形。

答案:

#include

using namespace std;

int main()

{

  int n;

  cout << "Please input a number n:";

  cin >> n;

  int a[21][21];

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

  {

    a[i][0] = 1;

  }

  for (int i = 1; i < n; i++)

  {

    for (int j = 1; j <= i; j++)

    {

      a[i][j] = a[i - 1][j - 1] + a[i - 1][j];

    }

  }

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

  {

    for (int j = 0; j <= i; j++)

    {

      cout << a[i][j] << " ";

    }

    cout << endl;

  }

  return 0;

}

三、高级练习题答案

1.用C++编写一个程序,要求用户输入一个数列,然后输出这个数列中的最长上升子序列的长度。

答案:

#include

using namespace std;

int main()

{

  int n;

  cout << "Please input the length of the sequence:";

  cin >> n;

  int a[1001], dp[1001] = { 1 }, ans = 1;

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

  {

    cin >> a[i];

    dp[i] = 1;

    for (int j = 0; j < i; j++)

    {

      if (a[j] < a[i])

      {

        dp[i] = max(dp[i], dp[j] + 1);

      }

    }

    ans = max(ans, dp[i]);

  }

  cout << ans << endl;

  return 0;

}

2.用C++编写一个程序,要求用户输入一个N行M列的方阵,然后输出其中的全部质数。

答案:

#include

using namespace std;

int main()

{

  int n, m;

  cout << "Please input the size of the matrix (n X m):";

  cin >> n >> m;

  int a[101][101], vis[10001] = { 0 };

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

  {

    for (int j = 0; j < m; j++)

    {

      cin >> a[i][j];

      vis[a[i][j]] = 1;

    }

  }

  for (int i = 2; i <= 10000; i++)

  {

    if (!vis[i])

      continue;

    int flag = 1;

    for (int j = 2; j * j <= i; j++)

    {

      if (i % j == 0)

        flag = 0;

        break;

    }

    if (flag)

    {

      for (int j = 0; j < n; j++)

      {

        for (int k = 0; k < m; k++)

        {

          if (a[j][k] == i)

            cout << i << " ";

        }

      }

    }

  }

  cout << endl;

  return 0;

}

总之,《C++一本通》是一本优秀的C++编程教材,它包含了大量的编程练习题。通过不断练习并掌握练习题的答案,初学者可以更好地理解和掌握C++编程技能,增加自己的经验并提高编程水平。

  
  

评论区

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