Przeglądaj źródła

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

3
linyongji 4 lat temu
rodzic
commit
6ef557c6e0
9 zmienionych plików z 96 dodań i 0 usunięć
  1. +3
    -0
      .gitignore
  2. BIN
      .vs/Algorithm/v16/.suo
  3. +3
    -0
      code/code.vcxproj
  4. +9
    -0
      code/code.vcxproj.filters
  5. +30
    -0
      code/config/3_IsUgly.ini
  6. +3
    -0
      code/include/3_IsUgly.h
  7. +28
    -0
      code/src/3_IsUgly.cpp
  8. +1
    -0
      test/pch.h
  9. +19
    -0
      test/test.cpp

+ 3
- 0
.gitignore Wyświetl plik

@@ -19,3 +19,6 @@
*.txt
*.ilk
*.exp
*.db-wal
*.db-shm
*.opendb

BIN
.vs/Algorithm/v16/.suo Wyświetl plik


+ 3
- 0
code/code.vcxproj Wyświetl plik

@@ -141,15 +141,18 @@
<ItemGroup>
<ClInclude Include="include\1_ContainsNearbyDuplicate.h" />
<ClInclude Include="include\2_ExcelSheetColumnTitle.h" />
<ClInclude Include="include\3_IsUgly.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\1_ContainsNearbyDuplicate.cpp" />
<ClCompile Include="src\2_ExcelSheetColumnTitle.cpp" />
<ClCompile Include="src\3_IsUgly.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" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">


+ 9
- 0
code/code.vcxproj.filters Wyświetl plik

@@ -21,6 +21,9 @@
<ClInclude Include="include\2_ExcelSheetColumnTitle.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="include\3_IsUgly.h">
<Filter>头文件</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\1_ContainsNearbyDuplicate.cpp">
@@ -32,6 +35,9 @@
<ClCompile Include="src\2_ExcelSheetColumnTitle.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="src\3_IsUgly.cpp">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="config\1_ContainsNearbyDuplicate.ini">
@@ -40,5 +46,8 @@
<None Include="config\2_ExcelSheetColumnTiTle.ini">
<Filter>资源文件</Filter>
</None>
<None Include="config\3_IsUgly.ini">
<Filter>资源文件</Filter>
</None>
</ItemGroup>
</Project>

+ 30
- 0
code/config/3_IsUgly.ini Wyświetl plik

@@ -0,0 +1,30 @@
[Test1]
Na=6
nExpect=1
[Test2]
Na=3
nExpect=1
[Test3]
Na=14
nExpect=0
[Test4]
Na=15
nExpect=1
[Test5]
Na=20
nExpect=1
[Test6]
Na=-1
nExpect=0
[Test7]
Na=2
nExpect=1
[Test8]
Na=1
nExpect=1
[Test9]
Na=2019
nExpect=0
[Test10]
Na=2147483647
nExpect=0

+ 3
- 0
code/include/3_IsUgly.h Wyświetl plik

@@ -0,0 +1,3 @@
#pragma once
#include <stdio.h>
bool IsUgly(int num);

+ 28
- 0
code/src/3_IsUgly.cpp Wyświetl plik

@@ -0,0 +1,28 @@
#include "../include/3_IsUgly.h "
//题目:判断一个数是否为丑数(能被2 3 5整除的数),能返回true,不能返回false
//思路:1.对入参循环判断%2、%3、%5是否为0,是则除相应的数,否则跳出循环,
// 2.对num判断,为1,则说明能被2、3、5除尽,是丑数,否则不是。
bool IsUgly(int num)
{
if (num <= 0){ //入参判断,如果小于等于0直接返回false
return false;
}
while (1) { //对num循环判断并做相应的运算,直到三个条件都不满足退出循环
if (num % 2 == 0) {
num = num / 2;
}
else if (num % 3 == 0) {
num = num / 3;
}
else if (num % 5 == 0) {
num = num / 5;
}
else {
break;
}
}
if (num == 1) { //对最后的num判断,如果为1则说明能被除尽,是丑数;否则不是丑数返回false
return true;
}
return false;
}

+ 1
- 0
test/pch.h Wyświetl plik

@@ -16,6 +16,7 @@

#include"../code/include/1_ContainsNearbyDuplicate.h"
#include"../code/include/2_ExcelSheetColumnTitle.h"
#include"../code/include/3_IsUgly.h"


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


+ 19
- 0
test/test.cpp Wyświetl plik

@@ -4,6 +4,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"


namespace test1
@@ -46,4 +47,22 @@ namespace test2
}
};
}
namespace test3
{
TEST_CLASS(UnitTest_1)
{
TEST_METHOD(TestMethode1)
{
char Section_Name[100][10] = { 0 };
int Section_Count = CalcCount(100, Section_Name, FileName_3);
CString Na, nExpect;
for (int i = 0; i < Section_Count; i++) {
GetPrivateProfileString(Section_Name[i], "Na", " ", Na.GetBuffer(20), 20, FileName_3);
GetPrivateProfileString(Section_Name[i], "nExpect", " ", nExpect.GetBuffer(20), 20, FileName_3);
bool nReal = IsUgly(_ttoi(Na));
Assert::AreEqual(nReal, CstrToBool(nExpect));
}
}
};
}


Ładowanie…
Anuluj
Zapisz