标签:需要 else 格式转化 定义 dex compress font als ever
5 ABcdEE
a-ee
1 #include <iostream> 2 3 using namespace std; 4 5 // 将字符串全部转换为大写 6 void SetToUpper(char* pszStr_) 7 { 8 while (*pszStr_ != ‘\0‘) 9 { 10 if (*pszStr_ >= ‘a‘ && *pszStr_ <= ‘z‘) 11 { 12 *pszStr_ -= 32; 13 } 14 pszStr_++; 15 } 16 } 17 18 // 将字符串全部转换为小写 19 void SetToLower(char* pszStr_) 20 { 21 while (*pszStr_ != ‘\0‘) 22 { 23 if (*pszStr_ >= ‘A‘ && *pszStr_ <= ‘Z‘) 24 { 25 *pszStr_ += 32; 26 } 27 pszStr_++; 28 } 29 } 30 31 // 字符串反转 32 void SetToReverse(char* pszStr_) 33 { 34 char* p = pszStr_; 35 char* q = pszStr_; 36 while (*q != ‘\0‘) 37 { 38 *q++; 39 } 40 q--; 41 while (*p != *q) 42 { 43 char t = *p; 44 *p = *q; 45 *q = t; 46 p++, q--; 47 } 48 } 49 50 // 将字符串大写转小写、小写转大写 51 void SetToConvert(char* pszStr_) 52 { 53 while (*pszStr_ != ‘\0‘) 54 { 55 if (*pszStr_ >= ‘a‘ && *pszStr_ <= ‘z‘) 56 { 57 *pszStr_ -= 32; 58 } 59 else if (*pszStr_ >= ‘A‘ && *pszStr_ <= ‘Z‘) 60 { 61 *pszStr_ += 32; 62 } 63 pszStr_++; 64 } 65 } 66 67 // 字符串压缩 68 void StrCompress(char* pszStr_, char* szResultStr_) 69 { 70 char _c1, _c2; 71 bool _bFlag = false; // 字符串压缩的标志 72 int _nCount = 0; 73 int _nIndex = 0; 74 75 while (*pszStr_ != ‘\0‘) 76 { 77 _c1 = *pszStr_; 78 _nCount = 0; 79 while (*pszStr_ != ‘\0‘ && *pszStr_ == *(pszStr_ + 1) - 1) 80 { 81 _bFlag = true; 82 _nCount++; 83 pszStr_++; 84 _c2 = *pszStr_; 85 } 86 szResultStr_[_nIndex++] = _c1; 87 if ( _nCount > 1) 88 { 89 szResultStr_[_nIndex++] = ‘-‘; 90 szResultStr_[_nIndex++] = _c2; 91 } 92 else if (_bFlag) // 处理前后两个字符相同,但只有两个字符不能压缩的情况 93 { 94 szResultStr_[_nIndex++] = _c2; 95 } 96 pszStr_++; 97 } 98 } 99 100 int main(void) 101 { 102 int _nChoice = 0; 103 char _szStr[210] = { ‘0‘ }; 104 cin >> _nChoice; 105 cin >> _szStr; 106 107 switch (_nChoice) 108 { 109 case 1: 110 { 111 SetToUpper(_szStr); 112 cout << _szStr << endl; 113 } 114 break; 115 116 case 2: 117 { 118 SetToLower(_szStr); 119 cout << _szStr << endl; 120 } 121 break; 122 123 case 3: 124 { 125 SetToReverse(_szStr); 126 cout << _szStr << endl; 127 } 128 break; 129 130 case 4: 131 { 132 SetToConvert(_szStr); 133 cout << _szStr << endl; 134 } 135 break; 136 137 case 5: 138 { 139 SetToLower(_szStr); 140 char _szResult[80] = { ‘\0‘ }; 141 StrCompress(_szStr, _szResult); 142 cout << _szResult << endl; 143 } 144 break; 145 146 default: 147 cout << "please input [1-5]!" << endl; 148 break; 149 } 150 return 0; 151 }
标签:需要 else 格式转化 定义 dex compress font als ever
原文地址:http://www.cnblogs.com/maxin/p/7753621.html