From def5f8248e128996276c23e926378bfd61e24e95 Mon Sep 17 00:00:00 2001 From: luxin Date: Tue, 9 Nov 2021 18:21:44 +0800 Subject: [PATCH] opt exercise description --- .../config.json" | 3 +- .../reverse.c" | 33 ++++ .../reverse.json" | 6 + .../reverse.md" | 153 ++++++++++++++++++ .../string_func.md" | 18 +-- 5 files changed, 202 insertions(+), 11 deletions(-) create mode 100644 "data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/2.\346\225\260\347\273\204/2.\344\270\200\347\273\264\346\225\260\347\273\204/reverse.c" create mode 100644 "data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/2.\346\225\260\347\273\204/2.\344\270\200\347\273\264\346\225\260\347\273\204/reverse.json" create mode 100644 "data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/2.\346\225\260\347\273\204/2.\344\270\200\347\273\264\346\225\260\347\273\204/reverse.md" diff --git "a/data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/2.\346\225\260\347\273\204/2.\344\270\200\347\273\264\346\225\260\347\273\204/config.json" "b/data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/2.\346\225\260\347\273\204/2.\344\270\200\347\273\264\346\225\260\347\273\204/config.json" index cbf4c2c..b84b3d3 100644 --- "a/data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/2.\346\225\260\347\273\204/2.\344\270\200\347\273\264\346\225\260\347\273\204/config.json" +++ "b/data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/2.\346\225\260\347\273\204/2.\344\270\200\347\273\264\346\225\260\347\273\204/config.json" @@ -7,7 +7,8 @@ ], "children": [], "export": [ - "bubble_sort.json" + "bubble_sort.json", + "reverse.json" ], "title": "一维数组" } \ No newline at end of file diff --git "a/data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/2.\346\225\260\347\273\204/2.\344\270\200\347\273\264\346\225\260\347\273\204/reverse.c" "b/data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/2.\346\225\260\347\273\204/2.\344\270\200\347\273\264\346\225\260\347\273\204/reverse.c" new file mode 100644 index 0000000..5d31bc3 --- /dev/null +++ "b/data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/2.\346\225\260\347\273\204/2.\344\270\200\347\273\264\346\225\260\347\273\204/reverse.c" @@ -0,0 +1,33 @@ +#include +#define ARR_LEN 5 + +void print_array(int arr[], int len) +{ + int i; + for (i = 0; i != len - 1; ++i) + printf("%d, ", arr[i]); + printf("%d\n", arr[len - 1]); +} + +int main(int argc, char** argv) +{ + int a[ARR_LEN] = {1, 2, 3, 4, 5}; + int b[ARR_LEN]; + int temp[ARR_LEN]; + int i; + + printf("反转前:\n"); + print_array(a, ARR_LEN); + + for (i = 0; i != ARR_LEN; ++i) + b[ARR_LEN - i - 1] = a[i]; + + temp = a; + a = b; + b = temp; + + printf("反转后:\n"); + print_array(a, ARR_LEN); + + return 0; +} \ No newline at end of file diff --git "a/data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/2.\346\225\260\347\273\204/2.\344\270\200\347\273\264\346\225\260\347\273\204/reverse.json" "b/data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/2.\346\225\260\347\273\204/2.\344\270\200\347\273\264\346\225\260\347\273\204/reverse.json" new file mode 100644 index 0000000..6486d91 --- /dev/null +++ "b/data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/2.\346\225\260\347\273\204/2.\344\270\200\347\273\264\346\225\260\347\273\204/reverse.json" @@ -0,0 +1,6 @@ +{ + "type": "code_options", + "author": "卢昕", + "source": "reverse.md", + "exercise_id":"d917d13042074362ac6728f2c575899b" +} \ No newline at end of file diff --git "a/data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/2.\346\225\260\347\273\204/2.\344\270\200\347\273\264\346\225\260\347\273\204/reverse.md" "b/data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/2.\346\225\260\347\273\204/2.\344\270\200\347\273\264\346\225\260\347\273\204/reverse.md" new file mode 100644 index 0000000..5011271 --- /dev/null +++ "b/data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/2.\346\225\260\347\273\204/2.\344\270\200\347\273\264\346\225\260\347\273\204/reverse.md" @@ -0,0 +1,153 @@ +# 数组反转 + +给定一个整型数组,将数组中的元素进行反转,并重新写入原数组中,例如:
+ +
反转前:
+
1, 2, 3, 4, 5
+
反转后:
+
5, 4, 3, 2, 1
+

+请选出错误答案。 +
+ +## 答案 +```c +#include +#define ARR_LEN 5 + +void print_array(int arr[], int len) +{ + int i; + for (i = 0; i != len - 1; ++i) + printf("%d, ", arr[i]); + printf("%d\n", arr[len - 1]); +} + +int main(int argc, char** argv) +{ + int a[ARR_LEN] = {1, 2, 3, 4, 5}; + int b[ARR_LEN]; + int temp[ARR_LEN]; + int i; + + printf("反转前:\n"); + print_array(a, ARR_LEN); + + for (i = 0; i != ARR_LEN; ++i) + b[ARR_LEN - i - 1] = a[i]; + + temp = a; + a = b; + b = temp; + + printf("反转后:\n"); + print_array(a, ARR_LEN); + + return 0; +} +``` + +## 选项 +### A +```c +#include +#define ARR_LEN 5 + +void print_array(int arr[], int len) +{ + int i; + for (i = 0; i != len - 1; ++i) + printf("%d, ", arr[i]); + printf("%d\n", arr[len - 1]); +} + +int main(int argc, char** argv) +{ + int a[ARR_LEN] = {1, 2, 3, 4, 5}; + int b[ARR_LEN]; + int i; + + printf("反转前:\n"); + print_array(a, ARR_LEN); + + for (i = 0; i != ARR_LEN; ++i) + b[ARR_LEN - i - 1] = a[i]; + for (i = 0; i != ARR_LEN; ++i) + a[i] = b[i]; + + printf("反转后:\n"); + print_array(a, ARR_LEN); + + return 0; +} +``` + +### B +```c +#include +#define ARR_LEN 5 + +void print_array(int arr[], int len) +{ + int i; + for (i = 0; i != len - 1; ++i) + printf("%d, ", arr[i]); + printf("%d\n", arr[len - 1]); +} + +int main(int argc, char** argv) +{ + int a[ARR_LEN] = {1, 2, 3, 4, 5}; + int i, temp; + + printf("反转前:\n"); + print_array(a, ARR_LEN); + + for (i = 0; i != ARR_LEN / 2; ++i) + { + temp = a[i]; + a[i] = a[ARR_LEN - i - 1]; + a[ARR_LEN - i - 1] = temp; + } + + printf("反转后:\n"); + print_array(a, ARR_LEN); + + return 0; +} +``` + +### C +```c +#include +#define ARR_LEN 5 + +void print_array(int arr[], int len) +{ + int i; + for (i = 0; i != len - 1; ++i) + printf("%d, ", arr[i]); + printf("%d\n", arr[len - 1]); +} + +int main(int argc, char** argv) +{ + int a[ARR_LEN] = {1, 2, 3, 4, 5}; + int i, j, temp; + + printf("反转前:\n"); + print_array(a, ARR_LEN); + + for (i = 0, j = ARR_LEN - 1; i != ARR_LEN / 2; ++i, --j) + { + temp = a[i]; + a[i] = a[j]; + a[j] = temp; + } + + printf("反转后:\n"); + print_array(a, ARR_LEN); + + return 0; +} +``` diff --git "a/data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/4.\345\255\227\347\254\246\344\270\262/2.\345\255\227\347\254\246\344\270\262\345\207\275\346\225\260/string_func.md" "b/data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/4.\345\255\227\347\254\246\344\270\262/2.\345\255\227\347\254\246\344\270\262\345\207\275\346\225\260/string_func.md" index 4ac93f3..3751661 100644 --- "a/data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/4.\345\255\227\347\254\246\344\270\262/2.\345\255\227\347\254\246\344\270\262\345\207\275\346\225\260/string_func.md" +++ "b/data/2.C\350\257\255\350\250\200\344\270\255\351\230\266/4.\345\255\227\347\254\246\344\270\262/2.\345\255\227\347\254\246\344\270\262\345\207\275\346\225\260/string_func.md" @@ -1,16 +1,14 @@ # 字符串函数的使用 -比较词序列,并替换其中的指定词,最后将所有词拼接形成一个新的句子。输出如下: -> 替换前: -> -> 非淡泊无以明志! -> -> 替换后: -> -> 非宁静无以致远! -> +比较词序列,并替换其中的指定词,最后将所有词拼接形成一个新的句子。程序的输出如下:
+ +
替换前:
+
非淡泊无以明志!
+
替换后:
+
非宁静无以致远!
+

请选出正确答案。 - +
## 答案 ```c -- GitLab