diff --git a/exercises/01_helloworld.c b/exercises/01_helloworld.c index e6100166bcb8fd1064fc94f2bb0e1a6952ba8bd1..0bab63fd8329c26ca392d3cb96c7a72ab62ad8e5 100644 --- a/exercises/01_helloworld.c +++ b/exercises/01_helloworld.c @@ -4,7 +4,7 @@ int main(){ // Print "Hello World!" to the console - + printf("Hello World!\n"); return 0; diff --git a/exercises/02_loop.c b/exercises/02_loop.c index 3e361e61656c2d9ea05348a15fa275dcd3201b8a..c3dfb2848dfa106f5f3fa6d69e353ee85104fd9b 100644 --- a/exercises/02_loop.c +++ b/exercises/02_loop.c @@ -8,6 +8,8 @@ int main(void) { //TODO - + for(int i=1;i<=10;i++){ + print("%d",i); + } return 0; } \ No newline at end of file diff --git a/exercises/03_nested_loops.c b/exercises/03_nested_loops.c index d80c6903dd22e3305e35ff2bfb82f949e9975617..05042a31e2b33d8ed47692f0f1f03c7cd2fad8cd 100644 --- a/exercises/03_nested_loops.c +++ b/exercises/03_nested_loops.c @@ -12,6 +12,12 @@ int main(void) { //TODO - + int i, j; + for (i = 1; i <= 9; i++) { + for (j = 1; j <= i; j++) { + printf("%d*%d=%d\t", j, i, i * j); + } + printf("\n"); + } return 0; } \ No newline at end of file diff --git a/exercises/04_prime_number.c b/exercises/04_prime_number.c index 28e3f5f8cd5dbb074c60d947c925a13d8918234e..c0b0413b0eab16a57c71597db0de7bdc96bc2734 100644 --- a/exercises/04_prime_number.c +++ b/exercises/04_prime_number.c @@ -10,7 +10,20 @@ int main(void) for (i = 1; i <= 100; i++) { - //TODO + int is_prime = 1; // 假设当前数是素数 + if (i <= 1) { + is_prime = 0; // 小于等于1的数不是素数 + } else { + for (j = 2; j <= sqrt(i); j++) { + if (i % j == 0) { + is_prime = 0; // 如果能被整除,不是素数 + break; + } + } + } + if (is_prime) { + max = i; // 更新最大素数 + } } printf("max = %d\n", max); diff --git a/exercises/05_josephus_ring.c b/exercises/05_josephus_ring.c index 330f2045f5cda70d21728503ef40accd04cea14f..76493236991f7404ba8858c1d40780e3d7e8d2ff 100644 --- a/exercises/05_josephus_ring.c +++ b/exercises/05_josephus_ring.c @@ -22,7 +22,27 @@ int main(void) int step; /* 当前报数 */ //TODO - + // 初始化人员编号 + for (int i = 0; i < ALL_NUM; i++) { + people[i] = i + 1; + } + + left = ALL_NUM; + pos = 0; + step = 0; + + while (left > 0) { + if (people[pos] != 0) { + step++; + if (step == COUNT_NUM) { + printf("%d out \n", people[pos]); + people[pos] = 0; // 标记该人已被淘汰 + step = 0; + left--; + } + } + pos = (pos + 1) % ALL_NUM; + } return 0;