21xrx.com
2025-03-25 15:36:54 Tuesday
文章检索 我的文章 写文章
C++函数16道题答案
2023-06-22 02:05:01 深夜i     11     0
C++ function 16 questions answers

C++函数是程序中非常重要的一部分,它有助于对程序进行模块化、简化程序结构,提高程序的可读性和可维护性。在学习和使用C++函数的过程中,我们需要掌握一些基本的技巧和方法。为了帮助大家更好地掌握C++函数的使用,下面是16道C++函数题的答案,希望对大家有所帮助。

1. 编写一个函数,计算圆的面积。

double circle_area(double radius)
{
  const double PI = 3.1415926535;
  double area = PI * radius * radius;
  return area;
}

2. 编写一个函数,计算两个数的平均值。

double average(double num1, double num2)
{
  double avg = (num1 + num2) / 2;
  return avg;
}

3. 编写一个函数,判断一个数是否为偶数。

bool is_even(int num)
{
  if (num % 2 == 0)
    return true;
  else
    return false;
}

4. 编写一个函数,将一个年份转换成闰年或非闰年。

bool is_leap_year(int year)
{
  if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
    return true;
  else
    return false;
}

5. 编写一个函数,将一个字符串转换成整数。

int str_to_int(const char* str)
{
  int num = 0;
  int i = 0;
  while (str[i] != '\0')
  {
    num = num * 10 + (str[i] - '0');
    i++;
  }
  return num;
}

6. 编写一个函数,将一个整数转换成字符串。

void int_to_str(int num, char* str)
{
  int len = 0;
  int tmp = num;
  while (tmp > 0)
  {
    tmp /= 10;
    len++;
  }
  str[len] = '\0';
  for (int i = len - 1; i >= 0; i--)
  {
    str[i] = num % 10 + '0';
    num /= 10;
  }
}

7. 编写一个函数,将字符串反转。

void reverse_str(char* str)
{
  int len = strlen(str);
  for (int i = 0; i < len / 2; i++)
  {
    char tmp = str[i];
    str[i] = str[len - i - 1];
    str[len - i - 1] = tmp;
  }
}

8. 编写一个函数,将两个字符串合并成一个字符串。

void concat_str(char* str1, char* str2, char* result)
{
  int i = 0;
  int j = 0;
  while (str1[i] != '\0')
  {
    result[i] = str1[i];
    i++;
  }
  while (str2[j] != '\0')
  {
    result[i + j] = str2[j];
    j++;
  }
  result[i + j] = '\0';
}

9. 编写一个函数,将一个字符串转换成小写字母。

void str_to_lowercase(char* str)
{
  int len = strlen(str);
  for (int i = 0; i < len; i++)
  {
    if (str[i] >= 'A' && str[i] <= 'Z')
      str[i] += 32;
  }
}

10. 编写一个函数,将一个字符串转换成大写字母。

void str_to_uppercase(char* str)
{
  int len = strlen(str);
  for (int i = 0; i < len; i++)
  {
    if (str[i] >= 'a' && str[i] <= 'z')
      str[i] -= 32;
  }
}

11. 编写一个函数,判断一个字符串是否是回文字符串。

bool is_palindrome(const char* str)
{
  int len = strlen(str);
  for (int i = 0; i < len / 2; i++)
  {
    if (str[i] != str[len - i - 1])
      return false;
  }
  return true;
}

12. 编写一个函数,找出一个整型数组中的最大值。

int find_max(const int* arr, int len)
{
  int maxVal = arr[0];
  for (int i = 1; i < len; i++)
  {
    if (arr[i] > maxVal)
      maxVal = arr[i];
  }
  return maxVal;
}

13. 编写一个函数,找出一个整型数组中的最小值。

int find_min(const int* arr, int len)
{
  int minVal = arr[0];
  for (int i = 1; i < len; i++)
  {
    if (arr[i] < minVal)
      minVal = arr[i];
  }
  return minVal;
}

14. 编写一个函数,计算一个整型数组的平均值。

double find_avg(const int* arr, int len)
{
  int sum = 0;
  for (int i = 0; i < len; i++)
  {
    sum += arr[i];
  }
  double avg = static_cast<double>(sum) / len;
  return avg;
}

15. 编写一个函数,将一个整型数组反转。

void reverse_arr(int* arr, int len)
{
  for (int i = 0; i < len / 2; i++)
  {
    int tmp = arr[i];
    arr[i] = arr[len - i - 1];
    arr[len - i - 1] = tmp;
  }
}

16. 编写一个函数,将两个整型数组合并成一个数组。

void merge_arr(const int* arr1, const int* arr2, int len1, int len2, int* result)
{
  int i = 0;
  int j = 0;
  while (i < len1 && j < len2)
  {
    if (arr1[i] < arr2[j])
    {
      result[i + j] = arr1[i];
      i++;
    }
    else
    {
      result[i + j] = arr2[j];
      j++;
    }
  }
  while (i < len1)
  {
    result[i + j] = arr1[i];
    i++;
  }
  while (j < len2)
  {
    result[i + j] = arr2[j];
    j++;
  }
}

总之,掌握C++函数的基本用法和技巧对我们学习和编写C++程序非常重要。希望以上16道C++函数题的答案对大家有所帮助,让我们更好地掌握和应用C++函数技术。

  
  

评论区