函数的重载与默认参数
6、小作业:
实现一个函数,该函数的声明如下:
bool string_upper_diy(char str[], int str_len, bool b_odd_pos = true);
功能为对字符串指定位置的字符变换为大写。
str 参数为字符串的指针;
str_len 为字符串的长度;
b_odd_pos 为true的时候,就要将 str 字符串中的奇数位置的字符变为大写,同时将非奇数位置的字符变为小写;
b_odd_pos 为false的时候,就要将 str 字符串中的奇数位置的字符变为小写,同时将非奇数位置的字符变为大写;
奇数指的是:1,3,5,7,9,11,13,15,17,19...以此类推;
大家明白了吗?动手试着做一做!
#include <iostream> using namespace std; bool string_upper_diy(char str[], bool b_odd_pos = true) { int str_len = strlen(str); if (b_odd_pos) { for (int i = 0; i < str_len; i++) { if ((i % 2) == 0) { str[i] = toupper(str[i]); } else { str[i] = tolower(str[i]); } } } else { for (int i = 0; i < str_len; i++) { if ((i % 2) != 0) { str[i] = toupper(str[i]); } else { str[i] = tolower(str[i]); } } } return b_odd_pos; } int main() { char str[] = "asDbRqfzFDVSf"; string_upper_diy(str, false); cout << str << endl; return 0; }
浙公网安备 33010602011771号