#include <string> #include <iostream> using namespace std; bool isLegal(string inputStr)//判断其是否完全由a-z的字符组成 { for (int i = 0; i < inputStr.length(); i++) { if (inputStr[i]<'a' || inputStr[i]>'z') return false; } return true; } string addString(string input1, string input2)//两个等长的字符串相加 { string result; int len = input1.length(); int value;//当前位的值 int addbit=0;//进位 for (int i = len-1; i >= 0; i--) { value = input1[i] - 'a' + input2[i] - 'a' + addbit; result = (char)( 'a' + value % 26) + result; addbit = (value) / 26; } if (addbit>0) result = 'b'+ result; return result; } int _tmain(int argc, _TCHAR* argv[]) { string inputStr1; string inputStr2; string result; printf("intput first string\n"); cin>>inputStr1; printf("intput second string\n"); cin >> inputStr2; if (isLegal(inputStr1) && isLegal(inputStr2)) { int firstLen = inputStr1.length(); int secondLen = inputStr2.length(); if (firstLen < secondLen) { for (int i = firstLen; i < secondLen; i++) { inputStr1 = 'a' + inputStr1; } } else { for (int i = secondLen; i < firstLen; i++) { inputStr2 = 'a' + inputStr2; } } } else{ printf("请输入两个合法的字符串\n"); } result = addString(inputStr1, inputStr2); cout <<"result is :"<< result << endl; std::system("pause"); return 0; }
两个由从a至z的字符组成的字答串,以26进制相加,求和
猜你喜欢
转载自www.cnblogs.com/perfection2901/p/10546831.html
今日推荐
周排行