diff --git "a/level1/p01_runningLetter/\344\275\234\344\270\2321.c" "b/level1/p01_runningLetter/\344\275\234\344\270\2321.c" new file mode 100644 index 00000000..2e231711 --- /dev/null +++ "b/level1/p01_runningLetter/\344\275\234\344\270\2321.c" @@ -0,0 +1,77 @@ +#include +#include +#include +#define boundary 50; + +void setCursor(int x, int y) + +{ + HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); + COORD pos; + pos.X = x; + pos.Y = y; + SetConsoleCursorPosition(hCon,pos); + +} + + + +void setConsole() + +{ + + HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); + + SMALL_RECT rc; + + rc.Left = 0; + + rc.Top = 0; + + rc.Right = boundary; + + rc.Bottom = 29; + + SetConsoleWindowInfo(hCon, TRUE, &rc); + +} + + + +void run() + +{ + + setConsole(); + int x =0, y = 0; + int test = 1; + char value; + scanf("%c", &value); + setCursor(x, y); + printf("%c", value); + Sleep(70); + while (1) { + system("cls"); + if (test)/*换boundary蜜汁显示缺小括号*/ + setCursor(x++, y); + else + setCursor(--x, y); + if (x >= 50) + test = !test; + else if(x<0) + test = !test; + + printf("%c", value); + Sleep(70); + } +} + + + +int main() { + + run(); + system("pause"); + return 0; + +} \ No newline at end of file diff --git "a/level1/p02_isPrime/\344\275\234\344\270\2322.c" "b/level1/p02_isPrime/\344\275\234\344\270\2322.c" new file mode 100644 index 00000000..3467390d --- /dev/null +++ "b/level1/p02_isPrime/\344\275\234\344\270\2322.c" @@ -0,0 +1,23 @@ +#include +#include +#include +int main() { + + int a, i, m; + scanf("%d", &a); + m = sqrt((double)a); + for (i = 2; i <= m; i++) + if (a%m == 0) + break; + else if (i <= m) + printf("No!this is not a prime."); + else + printf("Yes,it is a prime."); + + + + system("pause"); + return 0; + +} + diff --git "a/level1/p03_Diophantus/\344\275\234\344\270\2323.c" "b/level1/p03_Diophantus/\344\275\234\344\270\2323.c" new file mode 100644 index 00000000..b5d47967 --- /dev/null +++ "b/level1/p03_Diophantus/\344\275\234\344\270\2323.c" @@ -0,0 +1,16 @@ +#include +#include +void main() +{ + int i; + for (i = 1;i<300; i++) + { + if (i*1.0 / 6 + i*1.0 / 12 + i*1.0/ 7+ 5 + 4 == i*1.0/ 2) + { + printf("ͼ%d", i); + break; + } + } + system("pause"); + return 0; +} \ No newline at end of file diff --git "a/level1/p04_ narcissus/\344\275\234\344\270\2324.c" "b/level1/p04_ narcissus/\344\275\234\344\270\2324.c" new file mode 100644 index 00000000..5b0260bd --- /dev/null +++ "b/level1/p04_ narcissus/\344\275\234\344\270\2324.c" @@ -0,0 +1,21 @@ +#include +#include +int main() { + + int a, b, c,value; + + printf(""); + + for (int i = 2; i < =1000; i++) { + a = sqrt(i); + if (i%a!= 0) { + printf("%d\n", i); + } + + } + + + + system("pause"); + return 0; +} diff --git "a/level1/p05_allPrimes/\344\275\234\344\270\2325.c" "b/level1/p05_allPrimes/\344\275\234\344\270\2325.c" new file mode 100644 index 00000000..e69de29b diff --git a/level1/p06_Goldbach/text6.c b/level1/p06_Goldbach/text6.c new file mode 100644 index 00000000..ad9097b3 --- /dev/null +++ b/level1/p06_Goldbach/text6.c @@ -0,0 +1,22 @@ +#include +int prime(int n) +{ + for (int i = 2; i*i <= n; i++) //ж + if (n%i == 0)return 0; + return n > 1; +} +int main() +{ + int x, i; + printf("1~100Χ:"); + scanf("%d", &x); // + for (i = 2; i <= x / 2; i++) //ظ + if (prime(i) && prime(x - i)) + { + printf("%d=%d+%d\n", x, x - i, i); + getchar(); + return 0; + + } + +} \ No newline at end of file diff --git a/level1/p07_encrypt_decrypt/TEXT(7).c b/level1/p07_encrypt_decrypt/TEXT(7).c new file mode 100644 index 00000000..39c2b388 --- /dev/null +++ b/level1/p07_encrypt_decrypt/TEXT(7).c @@ -0,0 +1,105 @@ +#include +#include +#include +int main() { + + int i, j, k, num, num1; + char a1[30], a2[30]; + printf("ѡ:\n1.\t 2.\n"); + scanf("%d", &num); + if (num = 1) { + + printf("ı:"); + int num1 = 0; + int len; + scanf("%d",&a1); + len = strlen(a1); + printf("ƶλ:"); + scanf("%d", num1); + for (i = 0; i < len; i++) { + if (a1[i] >= 'A'&&a1[i] <= 'Z') + { + a1[i] = (a1[i] - 'A' + num1) % 26 + 'A'; + } + else if (a1[i] >= 'a'&&a1[i] <= 'z') + { + a1[i] = (a1[i] - 'a' + num1) % 26 + 'a'; + } + + } + printf("ܽ:%c", a1); + printf("\n"); + } + if (num = 2) { + printf("ı:"); + int len,num1; + scanf("%d", &a1); + len = strlen(a1); + for (num1 = 0; num1 < 26;num1++) { + for (i = 0; i < len; i++) { + if (a1[i] >= 'A'&&a1[i] <= 'Z') + { + a1[i] = (a1[i] - 'A' + num1) % 26 + 'A'; + } + else if (a1[i] >= 'a'&&a1[i] <= 'z') + { + a1[i] = (a1[i] - 'a' + num1) % 26 + 'a'; + } + + } + printf("ܽ:%c",a1); + system("pause"); + printf("\n"); + + } + } + getchar(); + return 0; + } + +#define MAX 30 +/*int main() { +char P[MAX] = { 0 }; +printf("ı:"); +scanf("%d", &P); +int len, i, j, k, temp,num = 0; +len = strlen(P); +int A1[1][MAX] = { 0 }, A2[1][MAX] = { 0 }; +int t1[MAX] = { 0 }, t2[MAX] = { 0 }; +printf("ܳ:\n"); +for (i = 0; i < len; i++) { +for (j = 0; j < len; j++) { +scanf("%d", &A1[i][j]); +printf("ܳΪ:%s", A1); +} +} + +printf("ѡ:\n1.\t 2.\n"); +scanf("%d", &num); +if (num = 1) { +for (i = 0; i < len; i++) { +if (P[i] >= 'A'&&P[i] <= 'Z') { +P[i] = P[i] +32; +t1[i] = P[i] - 'a'; +} +} +for (i = 0; i < len; i++) { +for (j = 0; j < len; j++) { +temp = 0; +for (k = 0; k < len; k++) { +temp+= t1[k] * A1[k][j]; +} +A2[i][j] = temp; +printf("%d\t", A2[i][j]); +} +printf("%d\n"); +} +printf("%d", A2); +for (i = 0; i < len; i++) { +t2[i] = A2[i] + 'a'; +} +printf("ܽΪ:%d", t2[i]); +system("pause"); +} +return 0; +}*/ //emmmmmdebug \ No newline at end of file diff --git a/level1/p08_hanoi/text8.c b/level1/p08_hanoi/text8.c new file mode 100644 index 00000000..c2a4b203 --- /dev/null +++ b/level1/p08_hanoi/text8.c @@ -0,0 +1,19 @@ +#include +void hano(int n,char p1, char p2, char p3) { + if (n == 1) { + printf("\t%c-->%c", p1, p3); + } + else + { + hano(n - 1, p1, p3, p2); + printf("\t%c-->%c\n", p1, p3); + hano(n - 1, p2, p1, p3); + } +} +int main() { + int n; + printf("ƶ:"); + scanf("%d", &n); + hano(n, 'p1', 'p2','p3'); + return 0; +} \ No newline at end of file diff --git a/level1/p11_linkedList/Unfinish2.c b/level1/p11_linkedList/Unfinish2.c new file mode 100644 index 00000000..fa879c7e --- /dev/null +++ b/level1/p11_linkedList/Unfinish2.c @@ -0,0 +1,48 @@ +#include +#include +int* ptr = NULL; +static int count = 0; +void insert(data){ + if (ptr == NULL) { + ptr = (int*)malloc(sizeof(int)); + ptr[0] = data; + } + else { + ptr = (int*)realloc(ptr, sizeof(int)*(count + 1)); + ptr[count] = data; + } + count++; +} +void show() { + int i = 0; + for (i = 0; i < count; i++) { + printf("%d\n", ptr[i]); + } +} +int main(int argc, char*argv[]) { + int c = 0; + int data; + while (1) + { + printf("choice"); + printf("1 is to insert data\n"); + printf("2 is to show data.\n"); + printf("3 is to quit\n "); + scanf("%d\n", &c); + switch (c) { + case 1: + printf("date="); + scanf("%d\n", &data); + insert(data); + break; + case 2: + show(); + break; + case 3: + exit(0); + } + } + return 0; + getchar(); +} + //2emmm \ No newline at end of file diff --git a/level1/p11_linkedList/text11.c b/level1/p11_linkedList/text11.c new file mode 100644 index 00000000..6dccebc3 --- /dev/null +++ b/level1/p11_linkedList/text11.c @@ -0,0 +1,120 @@ +#include +#include + +typedef struct node { + int data; + int id; + struct node *next; + +}node; +typedef struct list { + node *pHead; +}list; + +void InitHead(node * *pHead){ + *pHead = (node*)malloc(sizeof(node)); + if (*pHead == -1) { + printf("ʧܣboom!"); + exit(-1); } +} +void FreeList(node*pHead){ + node*p; + while (pHead != NULL) + { + p = pHead; + pHead = pHead->next; + free(p); + p =NULL; + } +} +void append(node *pHead, int number) { + node *q = pHead; + node* pNew = (node*)malloc(sizeof(node));//create a new node + pNew->data = number; + pNew->next = NULL; + + if (!pNew ) { + printf("½ڵʧܣboom!\n"); + exit(-1); + } + while (q->next) { + q = q->next; + } + + q->next = pNew; + q = pNew; +} +void showList(node*pHead) { + pHead = pHead->next; + while (pHead != NULL) { + printf("%d", pHead->data); + pHead = pHead->next; + + } +} +void reverse(node *pHead) { + node *p = pHead, + *q = p->next, + *r = NULL; + if (q) { + r = q->next; + pHead->next = NULL; + + } + else + return pHead; + while (1) + { + q->next = p; + if (r) { + p = q; + q = r; + r = r->next; + } + else + return q; + } +} +int search(list*pHead,int number) { + node*p; int found = -1; + for (p = pHead; p; p = p->next) { + if (p->data == 5) { + printf("find it!"); + found = 1; + continue; + } + else { + printf("NOT FOUND!"); + return found; + } + } +} +int main(void) { + node*L = NULL; + InitHead(&L); + append(L, 1); + append(L, 6); + append(L, 4); + append(L, 9); + append(L, 7); + append(L, 5); + append(L, 9); + append(L, 8); + showList(L); + reverse(L); + int a[] = { 1,6,4,9,7,5,9,8 }; + for (int i = 0; i < 8;i++) { + search(L, a[i]); + } + + FreeList(L); + L = NULL; + return 0; + + + // time5.8 3:30-7:00 + + + +} +