Преглед на файлове

分支4完成,提交完成的题目

4
linyongji преди 4 години
родител
ревизия
905c578f9b
променени са 8 файла, в които са добавени 90 реда и са изтрити 0 реда
  1. Двоични данни
      .vs/Algorithm/v16/.suo
  2. +3
    -0
      code/code.vcxproj
  3. +9
    -0
      code/code.vcxproj.filters
  4. +30
    -0
      code/config/4_IsPalindrome.ini
  5. +2
    -0
      code/include/4_IsPalindrome.h
  6. +26
    -0
      code/src/4_IsPalindrome.cpp
  7. +1
    -0
      test/pch.h
  8. +19
    -0
      test/test.cpp

Двоични данни
.vs/Algorithm/v16/.suo Целия файл


+ 3
- 0
code/code.vcxproj Целия файл

@@ -142,17 +142,20 @@
<ClInclude Include="include\1_ContainsNearbyDuplicate.h" />
<ClInclude Include="include\2_ExcelSheetColumnTitle.h" />
<ClInclude Include="include\3_IsUgly.h" />
<ClInclude Include="include\4_IsPalindrome.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\1_ContainsNearbyDuplicate.cpp" />
<ClCompile Include="src\2_ExcelSheetColumnTitle.cpp" />
<ClCompile Include="src\3_IsUgly.cpp" />
<ClCompile Include="src\4_IsPalindrome.cpp" />
<ClCompile Include="src\main.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="config\1_ContainsNearbyDuplicate.ini" />
<None Include="config\2_ExcelSheetColumnTiTle.ini" />
<None Include="config\3_IsUgly.ini" />
<None Include="config\4_IsPalindrome.ini" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">


+ 9
- 0
code/code.vcxproj.filters Целия файл

@@ -24,6 +24,9 @@
<ClInclude Include="include\3_IsUgly.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="include\4_IsPalindrome.h">
<Filter>头文件</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\1_ContainsNearbyDuplicate.cpp">
@@ -38,6 +41,9 @@
<ClCompile Include="src\3_IsUgly.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="src\4_IsPalindrome.cpp">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="config\1_ContainsNearbyDuplicate.ini">
@@ -49,5 +55,8 @@
<None Include="config\3_IsUgly.ini">
<Filter>资源文件</Filter>
</None>
<None Include="config\4_IsPalindrome.ini">
<Filter>资源文件</Filter>
</None>
</ItemGroup>
</Project>

+ 30
- 0
code/config/4_IsPalindrome.ini Целия файл

@@ -0,0 +1,30 @@
[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
[Test7]
Na=-123321
nExpect=0
[Test8]
Na=14333341
nExpect=1
[Test9]
Na=3333333
nExpect=1
[Test10]
Na=123454321
nExpect=1

+ 2
- 0
code/include/4_IsPalindrome.h Целия файл

@@ -0,0 +1,2 @@
#pragma once
bool IsPalindrome(int x);

+ 26
- 0
code/src/4_IsPalindrome.cpp Целия файл

@@ -0,0 +1,26 @@
#include "../include/4_IsPalindrome.h"
//题目:判断一个数是否为回文数
//思路:对传进来的数先知道是几位数,再循环%10,再/10,取到每位上的数字,再逆序*10相加,
// 得到翻转后的数,最后再和原数作对比。

bool IsPalindrome(int x)
{
if (x < 0) //如果入参为负数,则不是回文数,返回false
return false;
int x_Count = 1; //定义一个count用来统计传进来的数是几位数
int x_Coln1 = x; //把传进来的数拷贝一份,因为后面对要对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; //除10,继续取个位数字
}
if (x_Turn == x_Coln1) //判断翻转后的数和原数是否相等
return true;
return false;
}

+ 1
- 0
test/pch.h Целия файл

@@ -17,6 +17,7 @@
#include"../code/include/1_ContainsNearbyDuplicate.h"
#include"../code/include/2_ExcelSheetColumnTitle.h"
#include"../code/include/3_IsUgly.h"
#include"../code/include/4_IsPalindrome.h"


int CalcCount(int n, char(*str)[10], const char* FileName);


+ 19
- 0
test/test.cpp Целия файл

@@ -5,6 +5,7 @@ using namespace Microsoft::VisualStudio::CppUnitTestFramework;
#define FileName_1 "../code/config/1_ContainsNearbyDuplicate.ini"
#define FileName_2 "../code/config/2_ExcelSheetColumnTiTle.ini"
#define FileName_3 "../code/config/3_IsUgly.ini"
#define FileName_4 "../code/config/4_IsPalindrome.ini"


namespace test1
@@ -65,4 +66,22 @@ namespace test3
}
};
}
namespace test4
{
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));
}
}
};
}


Зареждане…
Отказ
Запис