21xrx.com
2024-12-22 21:50:01 Sunday
登录
文章检索 我的文章 写文章
C++函数16道题答案
2023-06-22 02:05:01 深夜i     --     --
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++函数技术。

  
  

评论区

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