| @@ -91,3 +91,6 @@ Alogrithm/Debug/UnitTest.exp | |||||
| Alogrithm/Debug/UnitTest.ilk | Alogrithm/Debug/UnitTest.ilk | ||||
| Alogrithm/Debug/UnitTest.lib | Alogrithm/Debug/UnitTest.lib | ||||
| Alogrithm/Debug/UnitTest.pdb | Alogrithm/Debug/UnitTest.pdb | ||||
| Alogrithm/.vs/Alogrithm/v16/ipch/AutoPCH/b7e343aeb2d15224/4_ISPALINDROME.ipch | |||||
| Alogrithm/Alogrithm/Debug/4_IsPalindrome.obj | |||||
| Alogrithm/TestResults/6fafde8c-d7b3-4676-8e54-90b128e5f315/林_MI-1 2021-01-15 09_25_22.coverage | |||||
| @@ -143,17 +143,20 @@ | |||||
| <ClCompile Include="src\1_ContainsNearbyDuplicate.cpp" /> | <ClCompile Include="src\1_ContainsNearbyDuplicate.cpp" /> | ||||
| <ClCompile Include="src\2_ExcelSheetColumnTitle.cpp" /> | <ClCompile Include="src\2_ExcelSheetColumnTitle.cpp" /> | ||||
| <ClCompile Include="src\3_bool IsUgly.cpp" /> | <ClCompile Include="src\3_bool IsUgly.cpp" /> | ||||
| <ClCompile Include="src\4_IsPalindrome.cpp" /> | |||||
| <ClCompile Include="src\main.cpp" /> | <ClCompile Include="src\main.cpp" /> | ||||
| </ItemGroup> | </ItemGroup> | ||||
| <ItemGroup> | <ItemGroup> | ||||
| <ClInclude Include="include\1_ContainsNearbyDuplicate.h" /> | <ClInclude Include="include\1_ContainsNearbyDuplicate.h" /> | ||||
| <ClInclude Include="include\2_ExcelSheetColumnTitle.h" /> | <ClInclude Include="include\2_ExcelSheetColumnTitle.h" /> | ||||
| <ClInclude Include="include\3_bool IsUgly.h" /> | <ClInclude Include="include\3_bool IsUgly.h" /> | ||||
| <ClInclude Include="include\4_IsPalindrome.h" /> | |||||
| </ItemGroup> | </ItemGroup> | ||||
| <ItemGroup> | <ItemGroup> | ||||
| <None Include="config\1_ContainsNearbyDuplicate.ini" /> | <None Include="config\1_ContainsNearbyDuplicate.ini" /> | ||||
| <None Include="config\2_ExcelSheetColumnTiTle.ini" /> | <None Include="config\2_ExcelSheetColumnTiTle.ini" /> | ||||
| <None Include="config\3_bool IsUgly.ini" /> | <None Include="config\3_bool IsUgly.ini" /> | ||||
| <None Include="config\4_IsPalindrome.ini" /> | |||||
| </ItemGroup> | </ItemGroup> | ||||
| <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||||
| <ImportGroup Label="ExtensionTargets"> | <ImportGroup Label="ExtensionTargets"> | ||||
| @@ -36,6 +36,9 @@ | |||||
| <ClCompile Include="src\3_bool IsUgly.cpp"> | <ClCompile Include="src\3_bool IsUgly.cpp"> | ||||
| <Filter>源文件\src</Filter> | <Filter>源文件\src</Filter> | ||||
| </ClCompile> | </ClCompile> | ||||
| <ClCompile Include="src\4_IsPalindrome.cpp"> | |||||
| <Filter>源文件\src</Filter> | |||||
| </ClCompile> | |||||
| </ItemGroup> | </ItemGroup> | ||||
| <ItemGroup> | <ItemGroup> | ||||
| <ClInclude Include="include\2_ExcelSheetColumnTitle.h"> | <ClInclude Include="include\2_ExcelSheetColumnTitle.h"> | ||||
| @@ -47,6 +50,9 @@ | |||||
| <ClInclude Include="include\3_bool IsUgly.h"> | <ClInclude Include="include\3_bool IsUgly.h"> | ||||
| <Filter>头文件\include</Filter> | <Filter>头文件\include</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| <ClInclude Include="include\4_IsPalindrome.h"> | |||||
| <Filter>头文件\include</Filter> | |||||
| </ClInclude> | |||||
| </ItemGroup> | </ItemGroup> | ||||
| <ItemGroup> | <ItemGroup> | ||||
| <None Include="config\3_bool IsUgly.ini"> | <None Include="config\3_bool IsUgly.ini"> | ||||
| @@ -58,5 +64,8 @@ | |||||
| <None Include="config\2_ExcelSheetColumnTiTle.ini"> | <None Include="config\2_ExcelSheetColumnTiTle.ini"> | ||||
| <Filter>资源文件\config</Filter> | <Filter>资源文件\config</Filter> | ||||
| </None> | </None> | ||||
| <None Include="config\4_IsPalindrome.ini"> | |||||
| <Filter>资源文件\config</Filter> | |||||
| </None> | |||||
| </ItemGroup> | </ItemGroup> | ||||
| </Project> | </Project> | ||||
| @@ -0,0 +1,18 @@ | |||||
| [Test1] | |||||
| Na=121 | |||||
| nExpect=1 | |||||
| [Test2] | |||||
| Na=123321 | |||||
| nExpect=1 | |||||
| [Test3] | |||||
| Na=214748367 | |||||
| nExpect=0 | |||||
| [Test4] | |||||
| Na=1212 | |||||
| nExpect=0 | |||||
| [Test5] | |||||
| Na=20 | |||||
| nExpect=0 | |||||
| [Test6] | |||||
| Na=-214748368 | |||||
| nExpect=0 | |||||
| @@ -0,0 +1,3 @@ | |||||
| #pragma once | |||||
| bool IsPalindrome(int x); | |||||
| @@ -0,0 +1,28 @@ | |||||
| #include "../include/4_IsPalindrome.h" | |||||
| //思路:对传进来的数先知道是几位数,再循环%10,再/10,取到每位上的数字,再逆序*10相加,得到翻转后的数 | |||||
| //最后再和原数作对比。 | |||||
| bool IsPalindrome(int x) | |||||
| { | |||||
| int x_Count = 1;//定义一个count用来统计传进来的数是几位数 | |||||
| long long x_Coln1 = x;//把传进来的数拷贝一份,后面会用到 | |||||
| long long x_Turn = 0;//用来保存翻转后的值,考虑int翻转后溢出问题 | |||||
| while ((x / 10) != 0) {//通过循环来获得入参是几位数 | |||||
| x_Count++; | |||||
| x = x / 10; | |||||
| } | |||||
| x = x_Coln1;//保存原数,后面还要用到 | |||||
| for (int i = 0; i < x_Count; i++) {//把逆置后的数存放到x_Turn中(保存的是正数) | |||||
| int temp = x % 10; | |||||
| x_Turn = x_Turn * 10 + temp; | |||||
| x = x / 10; | |||||
| } | |||||
| if (x_Coln1 < 0) {//判断入参是否为负数,是的话加上负号,不是则不用变 | |||||
| x_Turn = 0 - x_Turn; | |||||
| } | |||||
| if (x_Turn == x_Coln1) {//判断翻转后的数和原数是否相等 | |||||
| return true; | |||||
| } | |||||
| return false; | |||||
| } | |||||
| @@ -3,6 +3,6 @@ | |||||
| int main() | int main() | ||||
| { | { | ||||
| //ExcelSheetColumnTitle(10); | //ExcelSheetColumnTitle(10); | ||||
| printf("%d\n", IsUgly(6)); | |||||
| //printf("%d\n", IsUgly(6)); | |||||
| return 0; | return 0; | ||||
| } | |||||
| } | |||||
| @@ -5,6 +5,7 @@ using namespace Microsoft::VisualStudio::CppUnitTestFramework; | |||||
| #define FileName_1 "../Alogrithm/config/1_ContainsNearbyDuplicate.ini" | #define FileName_1 "../Alogrithm/config/1_ContainsNearbyDuplicate.ini" | ||||
| #define FileName_2 "../Alogrithm/config/2_ExcelSheetColumnTiTle.ini" | #define FileName_2 "../Alogrithm/config/2_ExcelSheetColumnTiTle.ini" | ||||
| #define FileName_3 "../Alogrithm/config/3_bool IsUgly.ini" | #define FileName_3 "../Alogrithm/config/3_bool IsUgly.ini" | ||||
| #define FileName_4 "../Alogrithm/config/4_IsPalindrome.ini" | |||||
| namespace UnitTest | namespace UnitTest | ||||
| { | { | ||||
| @@ -56,5 +57,20 @@ namespace UnitTest | |||||
| Assert::AreEqual(nReal, CstrToBool(nExpect)); | Assert::AreEqual(nReal, CstrToBool(nExpect)); | ||||
| } | } | ||||
| } | } | ||||
| }; | |||||
| }; | |||||
| TEST_CLASS(UnitTest_4) | |||||
| { | |||||
| TEST_METHOD(TestMethode1) | |||||
| { | |||||
| char Section_Name[100][10] = { 0 }; | |||||
| int Section_Count = CalcCount(100, Section_Name, FileName_4); | |||||
| CString Na, nExpect; | |||||
| for (int i = 0; i < Section_Count; i++) { | |||||
| GetPrivateProfileString(Section_Name[i], "Na", " ", Na.GetBuffer(20), 20, FileName_4); | |||||
| GetPrivateProfileString(Section_Name[i], "nExpect", " ", nExpect.GetBuffer(20), 20, FileName_4); | |||||
| bool nReal = IsPalindrome(_ttoi(Na)); | |||||
| Assert::AreEqual(nReal, CstrToBool(nExpect)); | |||||
| } | |||||
| } | |||||
| }; | |||||
| } | } | ||||
| @@ -103,7 +103,7 @@ | |||||
| <SubSystem>Windows</SubSystem> | <SubSystem>Windows</SubSystem> | ||||
| <AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | <AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||
| <GenerateDebugInformation>DebugFull</GenerateDebugInformation> | <GenerateDebugInformation>DebugFull</GenerateDebugInformation> | ||||
| <AdditionalDependencies>../Alogrithm/Debug/1_ContainsNearbyDuplicate.obj;../Alogrithm/Debug/2_ExcelSheetColumnTitle.obj;../Alogrithm/Debug/3_bool IsUgly.obj;%(AdditionalDependencies)</AdditionalDependencies> | |||||
| <AdditionalDependencies>../Alogrithm/Debug/1_ContainsNearbyDuplicate.obj;../Alogrithm/Debug/2_ExcelSheetColumnTitle.obj;../Alogrithm/Debug/3_bool IsUgly.obj;../Alogrithm/Debug/4_IsPalindrome.obj;%(AdditionalDependencies)</AdditionalDependencies> | |||||
| </Link> | </Link> | ||||
| </ItemDefinitionGroup> | </ItemDefinitionGroup> | ||||
| <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||
| @@ -16,6 +16,8 @@ | |||||
| #include"../Alogrithm/include/1_ContainsNearbyDuplicate.h" | #include"../Alogrithm/include/1_ContainsNearbyDuplicate.h" | ||||
| #include"../Alogrithm/include/2_ExcelSheetColumnTitle.h" | #include"../Alogrithm/include/2_ExcelSheetColumnTitle.h" | ||||
| #include"../Alogrithm/include/3_bool IsUgly.h" | #include"../Alogrithm/include/3_bool IsUgly.h" | ||||
| #include"../Alogrithm/include/4_IsPalindrome.h" | |||||
| int CalcCount(int n, char(*str)[10],const char *FileName); | int CalcCount(int n, char(*str)[10],const char *FileName); | ||||