From 26420c4904cdc30a3604f3c3620726ecfdd7e28c Mon Sep 17 00:00:00 2001 From: = <=> Date: Sun, 11 Mar 2018 20:23:34 +0800 Subject: [PATCH 1/5] RunningLetter --- level1/p01_runningLetter/RunningLetter.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 level1/p01_runningLetter/RunningLetter.c diff --git a/level1/p01_runningLetter/RunningLetter.c b/level1/p01_runningLetter/RunningLetter.c new file mode 100644 index 00000000..502e3679 --- /dev/null +++ b/level1/p01_runningLetter/RunningLetter.c @@ -0,0 +1,21 @@ +#include +#include +#include + +#define length 80 + +int main() { + int i; + for (i = 0; i >= 0; ++i) { + int a = i % length; + int b = (i / length)%2; + int c = abs(length*b - a); + int j; + for (j = 0; j <= c; ++j) { + printf(" "); + } + printf("S"); + Sleep(40); + system("cls"); + } +} \ No newline at end of file From 415bdfbd75c075e23c4ca24c82f6867a43003f0d Mon Sep 17 00:00:00 2001 From: = <=> Date: Sun, 11 Mar 2018 22:58:22 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=8F=A5=E6=9F=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- level1/p01_runningLetter/RunningLetters.c | 34 +++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 level1/p01_runningLetter/RunningLetters.c diff --git a/level1/p01_runningLetter/RunningLetters.c b/level1/p01_runningLetter/RunningLetters.c new file mode 100644 index 00000000..7eb41052 --- /dev/null +++ b/level1/p01_runningLetter/RunningLetters.c @@ -0,0 +1,34 @@ +#include +#include +#include +#include + +int main() { + + + HANDLE handle_out; + CONSOLE_SCREEN_BUFFER_INFO screen_info; + COORD pos = { 0, 0 }; + handle_out = GetStdHandle(STD_OUTPUT_HANDLE); + GetConsoleScreenBufferInfo(handle_out, &screen_info); + + + int length = screen_info.dwSize.X - 1; + int i; + for (i = 0; i >= 0; ++i) { + int a = i % length; + int b = (i / length) % 2; + int c = abs(length*b - a); + int j; + for (j = 0; j <= c; ++j) { + printf(" "); + } + printf("S"); + Sleep(40); + system("cls"); + } + + + CloseHandle(handle_out); + +} \ No newline at end of file From ecb0a35bc78b2a609c2f24ca50e9b687669a14ec Mon Sep 17 00:00:00 2001 From: = <=> Date: Fri, 16 Mar 2018 09:37:41 +0800 Subject: [PATCH 3/5] =?UTF-8?q?Van=E2=99=82=E6=88=90=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- level1/p02_isPrime/isPrime.c | 24 ++++++++++++++++++++++++ level1/p08_hanoi/hanoi.c | 25 +++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 level1/p02_isPrime/isPrime.c create mode 100644 level1/p08_hanoi/hanoi.c diff --git a/level1/p02_isPrime/isPrime.c b/level1/p02_isPrime/isPrime.c new file mode 100644 index 00000000..fe412a2d --- /dev/null +++ b/level1/p02_isPrime/isPrime.c @@ -0,0 +1,24 @@ +#include +#include +#include + +int main() { + long long i; + long long number; + scanf_s("%lld", &number); + if (number <= 2) { + printf("Please enter an integer greater than 2"); + } + else { + for (i = 2; i <= sqrt(number); ++i) { + if (number %i == 0) { + printf("This is not a prime number"); + break; + } + } + if (i > sqrt(number)) { + printf("This is a prime number"); + } + } + system("pause"); +} \ No newline at end of file diff --git a/level1/p08_hanoi/hanoi.c b/level1/p08_hanoi/hanoi.c new file mode 100644 index 00000000..5b58cab1 --- /dev/null +++ b/level1/p08_hanoi/hanoi.c @@ -0,0 +1,25 @@ +#include +#include + +int main() { + int n; + scanf_s("%d", &n); + char column1 = 65; + char column2 = 66; + char column3 = 67; + move(n,column1,column2,column3); + system("pause"); +} + +int move(int n,char c1,char c2,char c3) { + if (n >= 2) { + n = n - 1; + move(n, c1, c3, c2); + putchar(c1); printf("-->"); putchar(c3); printf("\n"); + move(n, c2, c1, c3); + } + else { + putchar(c1); printf("-->"); putchar(c3); printf("\n"); + } + return 0; +} \ No newline at end of file From 7e98c71f07ef3b1c28f350a6a43e7c1a848e5bc8 Mon Sep 17 00:00:00 2001 From: = <=> Date: Tue, 27 Mar 2018 13:09:09 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=92=95=E5=92=95=E5=92=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- level1/p03_Diophantus/Diophantus.c | 22 ++++++++++++++++ level1/p04_ narcissus/narcissus.c | 15 +++++++++++ level1/p05_allPrimes/allPrimes.c | 26 +++++++++++++++++++ level1/p06_Goldbach/Goldbach.c | 41 ++++++++++++++++++++++++++++++ 4 files changed, 104 insertions(+) create mode 100644 level1/p03_Diophantus/Diophantus.c create mode 100644 level1/p04_ narcissus/narcissus.c create mode 100644 level1/p05_allPrimes/allPrimes.c create mode 100644 level1/p06_Goldbach/Goldbach.c diff --git a/level1/p03_Diophantus/Diophantus.c b/level1/p03_Diophantus/Diophantus.c new file mode 100644 index 00000000..d3665339 --- /dev/null +++ b/level1/p03_Diophantus/Diophantus.c @@ -0,0 +1,22 @@ +#include +#include + +int main() { + + for (int i = 0; i <= 100; ++i) { + int lt, lq, ld, t1, t2; + t1 = 5; + t2 = 4; + if (i % 6 != 0 || i % 12 != 0 || i % 7 != 0) { + continue; + } + lt = i / 6; + lq = i / 12; + ld = i / 7; + int l1 = lt + lq + ld; + if (l1+t1+i/2+4==i) { + printf("%d\n", i - 4); + } + } + system("pause"); +} \ No newline at end of file diff --git a/level1/p04_ narcissus/narcissus.c b/level1/p04_ narcissus/narcissus.c new file mode 100644 index 00000000..20f2fdfa --- /dev/null +++ b/level1/p04_ narcissus/narcissus.c @@ -0,0 +1,15 @@ +#include +#include + +int main() { + for (int i = 1; i <= 9; ++i) { + for (int j = 0; j <= 9; ++j) { + for (int k = 0; k <= 9; ++k) { + if (i*i*i + j*j*j + k*k*k == i * 100 + j * 10 + k) { + printf("%d\n", i * 100 + j * 10 + k); + } + } + } + } + system("pause"); +} \ No newline at end of file diff --git a/level1/p05_allPrimes/allPrimes.c b/level1/p05_allPrimes/allPrimes.c new file mode 100644 index 00000000..3641aa9c --- /dev/null +++ b/level1/p05_allPrimes/allPrimes.c @@ -0,0 +1,26 @@ +#include +#include +#include +#include + + +int main() { + int begin, end; + begin = clock(); + int n=0; + for (int i = 2; i <= 100; ++i) { + int j; + for (j = 2; j <= sqrt(i); ++j) { + if (i%j == 0) { + break; + } + } + if (j>sqrt(i)) { + n = n + 1; + } + } + end = clock(); + printf("%d", n); + printf("用时: %d ms", end - begin); + system("pause"); +} \ No newline at end of file diff --git a/level1/p06_Goldbach/Goldbach.c b/level1/p06_Goldbach/Goldbach.c new file mode 100644 index 00000000..e5242e07 --- /dev/null +++ b/level1/p06_Goldbach/Goldbach.c @@ -0,0 +1,41 @@ +#include +#include +#include + +int isPrime(int n); + +int main() { + for (int i = 4; i <= 100; i += 2) { + for (int j = 2; j <= i; ++j) { + int p1 = isPrime(j); + int flag=0; + for (int k = 2; k <= i; ++k) { + int p2 = isPrime(k); + if (p1+p2==i) + { + printf("%d=%d+%d\n", i, p1 ,p2); + flag = 1; + break; + } + } + if (flag == 1) + { + break; + } + } + } + system("pause"); +} + +int isPrime(int n) { + int i; + float max = sqrt(n); + for (i = 2; i <= max; ++i) { + if (n%i == 0) { + return 0; + } + } + if (i > max) { + return n; + } +} \ No newline at end of file From c9e664f49b292b0c951bcc59ce1afde62f203347 Mon Sep 17 00:00:00 2001 From: = <=> Date: Wed, 27 Jun 2018 08:53:32 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=88=91=E6=98=AF=E4=B8=80=E5=8F=AA?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E6=84=9F=E6=83=85=E7=9A=84=E9=B8=BD=E5=AD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- level1/p09_maze/maze.c | 72 +++++++++++++++++++++++ level1/p11_linkedList/linkedlist.c | 92 ++++++++++++++++++++++++++++++ 2 files changed, 164 insertions(+) create mode 100644 level1/p09_maze/maze.c create mode 100644 level1/p11_linkedList/linkedlist.c diff --git a/level1/p09_maze/maze.c b/level1/p09_maze/maze.c new file mode 100644 index 00000000..e66f01fb --- /dev/null +++ b/level1/p09_maze/maze.c @@ -0,0 +1,72 @@ +#include +#include +#include + +void wall(); +int path(int x, int y); + +#define MaxLength 50 +#define xLength 11 +#define yLength 11 +char coordinate[MaxLength + 2][MaxLength + 2] = { 0 }; +int c1, c2; + +int main() { + + wall(); + + for (int i = 0; i <= xLength * 2 + 2; ++i) { + printf("\n"); + for (int j = 0; j <= yLength * 2 + 2; ++j) { + if (coordinate[i][j] == 1) { + printf(" "); + } + else { + printf("* "); + } + } + } + + system("pause"); + +} + +void wall() { + + for (c1 = 0, c2 = yLength * 2 + 2; c1 <= xLength * 2 + 2; ++c1) { + coordinate[c1][0] = 1; + coordinate[c1][c2] = 1; + } + for (c1 = xLength * 2 + 2, c2 = 0; c2 <= yLength * 2 + 2; ++c2) { + coordinate[0][c2] = 1; + coordinate[c1][c2] = 1; + } + + coordinate[2][1] = 1; + coordinate[xLength * 2][yLength * 2 + 1] = 1; + + srand((unsigned)time(NULL)); + path(rand() % xLength + 1, rand() % yLength + 1); +} + +int path(int x, int y) { + static int direction[4][2] = { 0,1,1,0,0,-1,-1,0 }; + int cx = x * 2; + int cy = y * 2; + coordinate[cx][cy] = 1; + int turn = rand() % 2 ? 1 : 3; + int next, i; + for (i = 0, next = rand() % 4; i < 4; ++i, next = (next + turn) % 4) { + int x1 = cx + direction[next][0] * 2; + int y1 = cy + direction[next][1] * 2; + int x2 = cx + direction[next][0]; + int y2 = cy + direction[next][1]; + int x3 = x + direction[next][0]; + int y3 = y + direction[next][1]; + if (coordinate[x1][y1] == 0) { + coordinate[x2][y2] = 1; + path(x3, y3); + } + } + return 0; +} \ No newline at end of file diff --git a/level1/p11_linkedList/linkedlist.c b/level1/p11_linkedList/linkedlist.c new file mode 100644 index 00000000..8b4871b4 --- /dev/null +++ b/level1/p11_linkedList/linkedlist.c @@ -0,0 +1,92 @@ +#include +#include + +typedef struct linkedlist +{ + int data; + struct linkedlist *next; +} node; + +node *create(int n) { + node *head, *p, *pNext; + head = (node *)malloc(sizeof(node)); + head->next = NULL; + pNext = head; + for (int i = 1; i <= n; ++i) { + printf("请输入第%d个数据:", i); + p = (node *)malloc(sizeof(node)); + scanf_s("%d", &p->data); + p->next = NULL; + pNext->next = p; + pNext = p; + } + return head; +} + +void show(node *head) { + node *tail; + tail = head->next; + while (tail != NULL) + { + if (tail->next != NULL) + { + printf("%d ", tail->data); + } + else + { + printf("%d\n", tail->data); + } + tail = tail->next; + } +} + +node *reverse(node *head) { + node *current, *pnext, *prev; + if (head == NULL || head->next == NULL) + return head; + current = head->next; + pnext = current->next; + current->next = NULL; + while (pnext) + { + prev = pnext->next; + pnext->next = current; + current = pnext; + pnext = prev; + } + head->next = current; + return head; +} + +void search(node *head,int n) { + node *current; + current = head; + int count = 0; + int flag = 0; + while (current) { + if (current->data == n) { + printf("%d ", count); + flag = 1; + } + count++; + current = current->next; + } + if (flag = 0) { + printf("-1"); + } +} + +int main() { + printf("请输入节点个数:"); + int n; + scanf_s("%d", &n); + node *head; + head = create(n); + show(head); + reverse(head); + show(head); + printf("请输入要查找的数:"); + scanf_s("%d",&n); + search(head, n); + system("pause"); +} \ No newline at end of file