提交 f4da5a55 编写于 作者: L luxin

add 2 exercises

上级 7becaefb
......@@ -6,5 +6,5 @@
"C语言"
],
"children": [],
"export": []
"export": ["ex_in_function.json"]
}
\ No newline at end of file
#include <stdio.h>
#define ARR_LEN 10
void selection_sort(int array[], int len);
void print_array(int array[], int len);
int main(int argc, char** argv)
{
int i;
int array[ARR_LEN] = {8, 1, 4, 10, 3, 6, 2, 7, 9, 5};
printf("排序前:\n");
print_array(array, ARR_LEN);
selection_sort(array, ARR_LEN);
printf("排序后:\n");
print_array(array, ARR_LEN);
return 0;
}
\ No newline at end of file
{
"type": "code_options",
"author": "卢昕",
"source": "ex_in_function.md",
"exercise_id":"1e8ee7c442374a44984851637673653f"
}
\ No newline at end of file
# 简单选择排序
定义选择排序和使用选择排序分别在不同的文件中,其中包含了内部函数与外部函数。请选出不能正确实现升序排序的选项。
## 答案
```c
// ssort.c
#include <stdio.h>
static void swap(int *a,int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
static void print_array(int array[], int len)
{
for (int i = 0; i < len; ++i)
printf("%d ", array[i]);
printf("\n");
}
extern void selection_sort(int array[], int len)
{
int i,j,temp,min;
for (i = 0 ; i < len - 1 ; ++i)
{
min = i;
for (j = i + 1; j < len; ++j)
if (array[j] < array[min])
min = j;
if(min != i)
swap(&array[min], &array[i]);
}
}
//ex_in_function.c
#include <stdio.h>
#define ARR_LEN 10
void selection_sort(int array[], int len);
void print_array(int array[], int len);
int main()
{
int i;
int array[ARR_LEN] = {8, 1, 4, 10, 3, 6, 2, 7, 9, 5};
printf("排序前:\n");
print_array(array, ARR_LEN);
selection_sort(array, ARR_LEN);
printf("排序后:\n");
print_array(array, ARR_LEN);
return 0;
}
```
## 选项
### A
```c
// ssort.c
#include <stdio.h>
static void swap(int *a,int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
extern void selection_sort(int array[], int len)
{
int i,j,temp,min;
for (i = 0 ; i < len - 1 ; ++i)
{
min = i;
for (j = i + 1; j < len; ++j)
if (array[j] < array[min])
min = j;
if(min != i)
swap(&array[min], &array[i]);
}
}
// ex_in_function.c
#include <stdio.h>
#define ARR_LEN 10
void selection_sort(int array[], int len);
static void print_array(int array[], int len)
{
for (int i = 0; i < len; ++i)
printf("%d ", array[i]);
printf("\n");
}
int main()
{
int i;
int array[ARR_LEN] = {8, 1, 4, 10, 3, 6, 2, 7, 9, 5};
printf("排序前:\n");
print_array(array, ARR_LEN);
selection_sort(array, ARR_LEN);
printf("排序后:\n");
print_array(array, ARR_LEN);
return 0;
}
```
### B
```c
// ssort.c
#include <stdio.h>
void print_array(int array[], int len);
static void swap(int *a,int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
extern void selection_sort(int array[], int len)
{
int i,j,temp,min;
printf("排序前:\n");
print_array(array, len);
for (i = 0 ; i < len - 1 ; ++i)
{
min = i;
for (j = i + 1; j < len; ++j)
if (array[j] < array[min])
min = j;
if(min != i)
swap(&array[min], &array[i]);
}
printf("排序后:\n");
print_array(array, len);
}
// ex_in_function.c
#include <stdio.h>
#define ARR_LEN 10
void selection_sort(int array[], int len);
extern void print_array(int array[], int len)
{
for (int i = 0; i < len; ++i)
printf("%d ", array[i]);
printf("\n");
}
int main()
{
int i;
int array[ARR_LEN] = {8, 1, 4, 10, 3, 6, 2, 7, 9, 5};
selection_sort(array, ARR_LEN);
return 0;
}
```
### C
```c
// ssort.c
#include <stdio.h>
void print_array(int array[], int len);
static void swap(int *a,int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
void selection_sort(int array[], int len)
{
int i,j,temp,min;
printf("排序前:\n");
print_array(array, len);
for (i = 0 ; i < len - 1 ; ++i)
{
min = i;
for (j = i + 1; j < len; ++j)
if (array[j] < array[min])
min = j;
if(min != i)
swap(&array[min], &array[i]);
}
printf("排序后:\n");
print_array(array, len);
}
// ex_in_function.c
#include <stdio.h>
#define ARR_LEN 10
void selection_sort(int array[], int len);
void print_array(int array[], int len)
{
for (int i = 0; i < len; ++i)
printf("%d ", array[i]);
printf("\n");
}
int main()
{
int i;
int array[ARR_LEN] = {8, 1, 4, 10, 3, 6, 2, 7, 9, 5};
selection_sort(array, ARR_LEN);
return 0;
}
```
#include <stdio.h>
static void swap(int *a,int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
static void print_array(int array[], int len)
{
for (int i = 0; i < len; ++i)
printf("%d ", array[i]);
printf("\n");
}
extern void selection_sort(int array[], int len)
{
int i,j,temp,min;
for (i = 0 ; i < len - 1 ; ++i)
{
min = i;
for (j = i + 1; j < len; ++j)
if (array[j] < array[min])
min = j;
if(min != i)
swap(&array[min], &array[i]);
}
}
\ No newline at end of file
......@@ -6,5 +6,5 @@
"C语言"
],
"children": [],
"export": []
"export": ["storage_categories.json"]
}
\ No newline at end of file
#include <stdio.h>
void func_1()
{
int num = 0;
++num;
printf("第%d次调用函数func_1()\n", num);
}
void func_2()
{
func_1();
}
void func_3()
{
func_1();
func_2();
}
int main(int argc, char** argv)
{
func_1();
func_2();
func_3();
return 0;
}
\ No newline at end of file
{
"type": "code_options",
"author": "卢昕",
"source": "storage_categories.md",
"exercise_id":"089799ddb1c3419a836a94abe8b39270"
}
\ No newline at end of file
# 统计函数调用次数
正确输出 **func_1()** 函数在当前程序中为第几次被调用。请选出错误答案。
## 答案
```c
#include <stdio.h>
void func_1()
{
int num = 0;
++num;
printf("第%d次调用函数func_1()\n", num);
}
void func_2()
{
func_1();
}
void func_3()
{
func_1();
func_2();
}
int main(int argc, char** argv)
{
func_1();
func_2();
func_3();
return 0;
}
```
## 选项
### A
```c
#include <stdio.h>
int num = 0;
void func_1()
{
++num;
printf("第%d次调用函数func_1()\n", num);
}
void func_2()
{
func_1();
}
void func_3()
{
func_1();
func_2();
}
int main(int argc, char** argv)
{
func_1();
func_2();
func_3();
return 0;
}
```
### B
```c
#include <stdio.h>
void func_1()
{
static int num = 0;
++num;
printf("第%d次调用函数func_1()\n", num);
}
void func_2()
{
func_1();
}
void func_3()
{
func_1();
func_2();
}
int main(int argc, char** argv)
{
func_1();
func_2();
func_3();
return 0;
}
```
### C
```c
#include <stdio.h>
void func_1(int *num)
{
printf("第%d次调用函数func_1()\n", *num);
++(*num);
}
void func_2(int *num)
{
func_1(num);
}
void func_3(int *num)
{
func_1(num);
func_2(num);
}
int main(int argc, char** argv)
{
int num = 1;
func_1(&num);
func_2(&num);
func_3(&num);
return 0;
}
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册