“b5ea048395a2113bb82ed5f3c12f205fa4b0762e”上不存在“doc/howto/git@gitcode.net:paddlepaddle/PaddleDetection.git”
提交 38047f68 编写于 作者: L luxin

add 12 exercises

上级 24713294
......@@ -3,4 +3,5 @@
.DS_Store
__pycache__
*.pyc
*.zip
\ No newline at end of file
*.zip
*.out
\ No newline at end of file
......@@ -4,4 +4,4 @@ int main()
{
printf("Hello, World!\n");
return 0;
}
}
\ No newline at end of file
{
"multiline": [
{
"printf(\"Hello, World! \n\");": "printf(\"Hello, World! \n\")",
"return 0;": "return 0"
},
{
"return 0;": "return;"
},
{
"int main()": "int main"
}
]
}
\ No newline at end of file
# Hello World
输出 "Hello, World!" 字符串,找出正确的选项。
## A
```
#include <stdio.h>
int main()
{
printf("Hello, World!\n");
return 0;
}
```
## B
```
#include <stdio.h>
int main()
{
printf("Hello, World!\n")
return 0
}
```
## C
```
#include <stdio.h>
int main()
{
printf("Hello, World!\n");
return;
}
```
## D
```
#include <stdio.h>
int main
{
printf("Hello, World!\n");
return 0;
}
```
......@@ -4,19 +4,19 @@ int main()
{
const int row = 7;
const int col = 50;
char feature_1[row][col] = {
'1. 语言简洁,使用方便灵活',
'2. 可移植性好',
'3. 表达能力强',
'4. 表达方式灵活',
'5. 可进行结构化程序设计',
'6. 可以直接操作计算机硬件',
'7. 生成的目标代码质量高'};
char feature[row][col] = {
"1. 语言简洁,使用方便灵活",
"2. 可移植性好",
"3. 表达能力强",
"4. 表达方式灵活",
"5. 可进行结构化程序设计",
"6. 可以直接操作计算机硬件",
"7. 生成的目标代码质量高"};
printf('********** C语言特点 **********\n');
printf("********** C语言特点 **********\n");
for (int i = 0; i < row; ++i)
printf('%s\n', feature_1[i]);
printf('*******************************\n');
printf("%s\n", feature[i]);
printf("*******************************\n");
return 0;
}
\ No newline at end of file
......@@ -10,7 +10,7 @@ int main()
{
const int row = 7;
const int col = 50;
char feature_1[row][col] = {
char feature[row][col] = {
"1. 语言简洁,使用方便灵活",
"2. 可移植性好",
"3. 表达能力强",
......@@ -21,7 +21,7 @@ int main()
printf("********** C语言特点 **********\n");
for (int i = 0; i < row; ++i)
printf("%s\n", feature_1[i]);
printf("%s\n", feature[i]);
printf("*******************************\n");
return 0;
......@@ -36,7 +36,7 @@ int main()
{
const int row = 7;
const int col = 50;
char feature_1[row][col] = {
char feature[row][col] = {
"1. 语言简洁,使用方便灵活",
"2. 可移植性好",
"3. 表达能力强",
......@@ -47,7 +47,7 @@ int main()
print("********** C语言特点 **********\n");
for (int i = 0; i < row; ++i)
print("%s\n", feature_1[i]);
print("%s\n", feature[i]);
print("*******************************\n");
return 0;
......@@ -62,7 +62,7 @@ int main()
{
const int row = 7;
const int col = 50;
char feature_1[row][col] = {
char feature[row][col] = {
"1. 语言简洁,使用方便灵活",
"2. 可移植性好",
"3. 表达能力强",
......@@ -73,7 +73,7 @@ int main()
printf("********** C语言特点 **********\n");
for (int i = 0; i < row; ++i)
printf("%c\n", feature_1[i]);
printf("%c\n", feature[i]);
printf("*******************************\n");
return 0;
......@@ -88,7 +88,7 @@ int main()
{
const int row = 7;
const int col = 50;
char feature_1[row][col] = {
char feature[row][col] = {
'1. 语言简洁,使用方便灵活',
'2. 可移植性好',
'3. 表达能力强',
......@@ -99,7 +99,7 @@ int main()
printf('********** C语言特点 **********\n');
for (int i = 0; i < row; ++i)
printf('%s\n', feature_1[i]);
printf('%s\n', feature[i]);
printf('*******************************\n');
return 0;
......
#include <stdio.h>
#include <stdbool.h>
int main()
{
int num = 1;
int max_num = 10;
int step = 1;
int result = 0;
bool num = 1;
bool max_num = 10;
bool step = 1;
bool result = 0;
while (num <= max_num)
{
......
{
"multiline": [
{
"int step = 1;": "int step = 2;"
},
{
"while (num <= max_num)": "while (num < max_num)"
},
{
"num = num + step;": "num + step;"
}
]
}
\ No newline at end of file
# 变量:求正整数的平方
使用while循环修改变量值,依次打印10以内(包含10)所有正整数的平方。请从以下选项中找出正确答案。
\ No newline at end of file
使用while循环修改变量值,依次打印10以内(包含10)所有正整数的平方。请从以下选项中找出正确答案。
## A
```
#include <stdio.h>
int main()
{
int num = 1;
int max_num = 10;
int step = 1;
int result = 0;
while (num <= max_num)
{
result = num * num;
printf("%d ^ 2 = %d\n", num, result);
num = num + step;
}
return 0;
}
```
## B
```
#include <stdio.h>
int main()
{
num = 1;
max_num = 10;
step = 1;
result = 0;
while (num <= max_num)
{
result = num * num;
printf("%d ^ 2 = %d\n", num, result);
num = num + step;
}
return 0;
}
```
## C
```
#include <stdio.h>
int main()
{
int num(1);
int max_num(10);
int step(1);
int result(0);
while (num <= max_num)
{
result = num * num;
printf("%d ^ 2 = %d\n", num, result);
num = num + step;
}
return 0;
}
```
## D
```
#include <stdio.h>
#include <stdbool.h>
int main()
{
bool num = 1;
bool max_num = 10;
bool step = 1;
bool result = 0;
while (num <= max_num)
{
result = num * num;
printf("%d ^ 2 = %d\n", num, result);
num = num + step;
}
return 0;
}
```
#include <stdio.h>
#define PI 3.14
#define PI 314e-2
int main()
{
......
{
"multiline": [
{
"#define PI 3.14": "#define 3.14 PI"
},
{
"#define PI 3.14": "#define PI 3.14;"
},
{
"printf(\"半径为%.2f的圆,面积是%.2f\", radius, area);": "printf(\"半径为%d的圆,面积是%d\", radius, area);"
}
]
}
\ No newline at end of file
# 常量:计算圆的面积
使用常量表示圆周率$\pi$,并计算半径为2的圆的面积。请从以下选项中找出正确答案。
\ No newline at end of file
使用常量表示圆周率$\pi$,并计算半径为2的圆的面积。请从以下选项中找出错误答案。
## A
```
#include <stdio.h>
int main()
{
const float PI;
PI = 3.14;
float radius = 2.0;
float area = PI * radius * radius;
printf("半径为%.2f的圆,面积是%.2f", radius, area);
return 0;
}
```
## B
```
#include <stdio.h>
#define PI 3.14
int main()
{
float radius = 2.0;
float area = PI * radius * radius;
printf("半径为%.2f的圆,面积是%.2f", radius, area);
return 0;
}
```
## C
```
#include <stdio.h>
int main()
{
const float PI = 3.14;
float radius = 2.0;
float area = PI * radius * radius;
printf("半径为%.2f的圆,面积是%.2f", radius, area);
return 0;
}
```
## D
```
#include <stdio.h>
#define PI 314e-2
int main()
{
float radius = 2.0;
float area = PI * radius * radius;
printf("半径为%.2f的圆,面积是%.2f", radius, area);
return 0;
}
```
#include <stdio.h>
#define upper 100
#define UPPER 100
int main()
{
int i = 1;
while (i < upper)
{
while (i++ < UPPER)
if (i % 10 == 0)
printf("%d\n", i);
i++;
}
return 0;
}
\ No newline at end of file
......@@ -6,12 +6,12 @@
```
#include <stdio.h>
#define upper 100
#define UPPER 100
int main()
{
int i = 1;
while (i++ < upper)
while (i++ < UPPER)
if (i % 10 == 0)
printf("%d\n", i);
......@@ -23,12 +23,12 @@ int main()
```
#include <stdio.h>
#define upper 100
#define UPPER 100
int main()
{
int i = 1;
while (i++ < upper)
while (i++ < UPPER)
if (i / 10 == 0)
printf("%d\n", i);
......@@ -40,12 +40,12 @@ int main()
```
#include <stdio.h>
#define upper 100
#define UPPER 100
int main()
{
int i = 1;
while (++i < upper)
while (++i < UPPER)
if (i % 10 == 0)
printf("%d\n", i);
......@@ -57,12 +57,12 @@ int main()
```
#include <stdio.h>
#define upper 100
#define UPPER 100
int main()
{
int i = 1;
while (i < upper)
while (i < UPPER)
{
if (i % 10 == 0)
printf("%d\n", i);
......
#include <stdio.h>
#define max(a,b) (((a) > (b)) ? (a) : (b))
#define min(a,b) (((a) < (b)) ? (a) : (b))
int main()
{
int start_1, end_1;
......@@ -12,7 +9,7 @@ int main()
printf("请输入第2个闭区间:");
scanf("%d,%d", &start_2, &end_2);
if (min(end_1, end_2) < max(start_1, start_2))
if (end_1 > start_2 || start_1 < end_2)
printf("两个区间不重叠!");
else
printf("两个区间重叠!");
......
......@@ -50,8 +50,8 @@ int main()
```
#include <stdio.h>
#define max(a,b) (((a) > (b)) ? (a) : (b))
#define min(a,b) (((a) < (b)) ? (a) : (b))
#define MAX(a,b) ((a > b) ? a : b)
#define MIN(a,b) ((a < b) ? a : b)
int main()
{
......@@ -62,7 +62,7 @@ int main()
printf("请输入第2个闭区间:");
scanf("%d,%d", &start_2, &end_2);
if (max(start_1, start_2) > min(end_1, end_2))
if (MAX(start_1, start_2) > MIN(end_1, end_2))
printf("两个区间不重叠!");
else
printf("两个区间重叠!");
......@@ -75,8 +75,8 @@ int main()
```
#include <stdio.h>
#define max(a,b) (((a) > (b)) ? (a) : (b))
#define min(a,b) (((a) < (b)) ? (a) : (b))
#define MAX(a,b) ((a > b) ? a : b)
#define MIN(a,b) ((a < b) ? a : b)
int main()
{
......@@ -87,7 +87,7 @@ int main()
printf("请输入第2个闭区间:");
scanf("%d,%d", &start_2, &end_2);
if (min(end_1, end_2) < max(start_1, start_2))
if (MIN(end_1, end_2) < MAX(start_1, start_2))
printf("两个区间不重叠!");
else
printf("两个区间重叠!");
......
......@@ -5,10 +5,15 @@ int main()
int year;
printf("请输人年份:");
scanf("%d", &year);
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
printf("%d 是闰年\n", year);
if (year % 400 == 0)
printf("%d 此年是闰年\n", year);
else
printf("%d 非闰年\n", year);
{
if (year % 4 == 0 || year % 100 != 0)
printf("%d 是闰年\n", year);
else
printf("%d 非闰年\n", year);
}
return 0;
}
\ No newline at end of file
......@@ -4,7 +4,7 @@
满足以下任意一个条件的年份为闰年:
* 该年份能被400整除。
* 该年份能被4整除同时不能被 100 整除。
* 该年份能被4整除同时不能被 100 整除。
## A
......
#include <stdio.h>
#define FIRST_COST 6
#define NEXT_COST 2
int main()
{
int weight, cost;
printf("重量\t价格\n");
for (weight, cost = 1, FIRST_COST;
weight <= 10;
++weight, cost = FIRST_COST + (weight - 1) * NEXT_COST)
printf("%d\t¥%d\n", weight, cost);
return 0;
}
\ No newline at end of file
# 邮费价格表
打印邮费价格表,输出20kg以内物品的邮费价格表,邮费计算规则如下所示:
* 1kg以内6元。
* 超过1kg,每增加1kg加收2元。
请选出正确答案。
## A
```
#include <stdio.h>
#define FIRST_COST 6
#define NEXT_COST 2
int main()
{
int weight, cost;
printf("重量\t价格\n");
for (weight = 1, cost = FIRST_COST;
weight <= 10;
++weight, cost = FIRST_COST + (weight - 1) * NEXT_COST)
printf("%d\t¥%d\n", weight, cost);
return 0;
}
```
## B
```
#include <stdio.h>
#define FIRST_COST 6
#define NEXT_COST 2
int main()
{
int weight, cost;
printf("重量\t价格\n");
for (weight = 1, cost = FIRST_COST;
weight <= 10;
cost = FIRST_COST + (weight - 1) * NEXT_COST, ++weight)
printf("%d\t¥%d\n", weight, cost);
return 0;
}
```
## C
```
#include <stdio.h>
#define FIRST_COST 6
#define NEXT_COST 2
int main()
{
int weight, cost;
printf("重量\t价格\n");
for (weight = 1, cost = FIRST_COST;
weight <= 10;
cost = (FIRST_COST + (weight - 1) * NEXT_COST, ++weight))
printf("%d\t¥%d\n", weight, cost);
return 0;
}
```
## D
```
#include <stdio.h>
#define FIRST_COST 6
#define NEXT_COST 2
int main()
{
int weight, cost;
printf("重量\t价格\n");
for (weight, cost = 1, FIRST_COST;
weight <= 10;
++weight, cost = FIRST_COST + (weight - 1) * NEXT_COST)
printf("%d\t¥%d\n", weight, cost);
return 0;
}
```
......@@ -5,5 +5,11 @@
"C语言"
],
"children": [],
"export": []
"export": [
{
"file": "comma_op.c",
"variants": "comma_op.json",
"depends": []
}
]
}
\ No newline at end of file
#include <stdio.h>
int main()
{
int a, b, c, max;
printf("请输入3个整数:");
scanf("%d,%d,%d", &a, &b, &c);
max = c > (a > b) ? a : (b ? c : (a > b)) ? a : b;
printf("3个整数中的最大的是:%d", max);
return 0;
}
\ No newline at end of file
# 三数最大值
输入三个整数,求出最大值并输出。请选出错误答案。
## A
```
#include <stdio.h>
int main()
{
int a, b, c, max;
printf("请输入3个整数:");
scanf("%d,%d,%d", &a, &b, &c);
max = c > (a > b) ? a : (b ? c : (a > b)) ? a : b;
printf("3个整数中的最大的是:%d", max);
return 0;
}
```
## B
```
#include <stdio.h>
int main()
{
int a, b, c, max;
printf("请输入3个整数:");
scanf("%d,%d,%d", &a, &b, &c);
max = a > b ? (a > c ? a : c) : (b > c ? b : c);
printf("3个整数中的最大的是:%d", max);
return 0;
}
```
## C
```
#include <stdio.h>
int main()
{
int a, b, c, max;
printf("请输入3个整数:");
scanf("%d,%d,%d", &a, &b, &c);
max = a > b ? a > c ? a : c : b > c ? b : c;
printf("3个整数中的最大的是:%d", max);
return 0;
}
```
## D
```
#include <stdio.h>
int main()
{
int a, b, c, max;
printf("请输入3个整数:");
scanf("%d,%d,%d", &a, &b, &c);
max = (c > ((a > b) ? a : b)) ? c : ((a > b) ? a : b);
printf("3个整数中的最大的是:%d", max);
return 0;
}
```
......@@ -6,5 +6,11 @@
"C语言"
],
"children": [],
"export": []
"export": [
{
"file": "conditional_op.c",
"variants": "conditional_op.json",
"depends": []
}
]
}
\ No newline at end of file
......@@ -5,5 +5,11 @@
"C语言"
],
"children": [],
"export": []
"export": [
{
"file": "sizeof_op.c",
"variants": "sizeof_op.json",
"depends": []
}
]
}
\ No newline at end of file
#include <stdio.h>
int main()
{
int arr[] = {1,2,3,4,5};
size_t len = sizeof(arr) / sizeof int;
size_t i;
for (i = 0; i < len; ++i)
printf("%d ", arr[i]);
return 0;
}
\ No newline at end of file
# 输出数组
定义并初始化一个整型数组(未显示指定数组长度),循环输出数组中的每个元素。请选出正确答案。
## A
```
#include <stdio.h>
int main()
{
int arr[] = {1,2,3,4,5};
size_t len = sizeof(arr) / sizeof int;
size_t i;
for (i = 0; i < len; ++i)
printf("%d ", arr[i]);
return 0;
}
```
## B
```
#include <stdio.h>
int main()
{
int arr[] = {1,2,3,4,5};
size_t len = sizeof(arr) / sizeof(int);
size_t i;
for (i = 0; i < len; ++i)
printf("%d ", arr[i]);
return 0;
}
```
## C
```
#include <stdio.h>
int main()
{
int arr[] = {1,2,3,4,5};
size_t len = sizeof arr / sizeof(int);
size_t i;
for (i = 0; i < len; ++i)
printf("%d ", arr[i]);
return 0;
}
```
## D
```
#include <stdio.h>
int main()
{
int arr[] = {1,2,3,4,5};
size_t len = sizeof(arr) / sizeof(arr[0]);
size_t i;
for (i = 0; i < len; ++i)
printf("%d ", arr[i]);
return 0;
}
```
{
"node_id": "569d5e11c4fc5de7844053d9a733c5e8",
"keywords": [
"运算符",
"C语言"
],
"children": [],
"export": []
}
\ No newline at end of file
......@@ -6,5 +6,11 @@
"C语言"
],
"children": [],
"export": []
"export": [
{
"file": "statements_n_blocks.c",
"variants": "statements_n_blocks.json",
"depends": []
}
]
}
\ No newline at end of file
#include <stdio.h>
int main()
{
char str[] = "Hello World!";
size_t len = sizeof(str) / sizeof(char);
size_t i;
for (i = 0; i < len; ++i)
printf("%c", str[i])
return 0;
}
\ No newline at end of file
# 循环打印 Hello World!
使用循环逐个字符打印 **Hello World!** ,请选出错误答案。
## A
```
#include <stdio.h>
int main()
{
char str[] = "Hello World!";
size_t len = sizeof(str) / sizeof(char);
size_t i;
for (i = 0; i < len; ++i)
printf("%c", str[i])
return 0;
}
```
## B
```
#include <stdio.h>
int main()
{
char str[] = "Hello World!";
size_t len = sizeof(str) / sizeof(char);
size_t i;
for (i = 0; i < len; ++i)
printf("%c", str[i]);
return 0;
}
```
## C
```
#include <stdio.h>
int main()
{
char str[] = "Hello World!";
size_t len = sizeof(str) / sizeof(char);
size_t i;
for (i = 0; i < len; ++i)
{
printf("%c", str[i]);
}
return 0;
}
```
## D
```
#include <stdio.h>
int main()
{
char str[] = "Hello World!";
size_t len = sizeof(str) / sizeof(char);
size_t i;
for (i = 0; i < len; ++i)
{
printf("%c", str[i]);
};
return 0;
}
```
{
"multiline": [
{
"if (a > b)": "if a > b",
"if (a > c)": "if a > c",
"if (b > c)": "if b > c"
},
{
"if (a > b)": "if (a < b)",
"if (a > c)": "if (a < c)",
"if (b > c)": "if (b < c)"
},
{
"if (a > b)": "if (a > b):",
"if (a > c)": "if (a > c):",
"if (b > c)": "if (b > c):"
}
]
}
\ No newline at end of file
# 三个数从小到大排序并输出
任意输入3个整数,对这3个整数由小到大进行升序排序。请从以下选项中找出正确答案。
\ No newline at end of file
任意输入3个整数,对这3个整数由小到大进行升序排序。请从以下选项中找出正确答案。
## A
```
#include <stdio.h>
/* 交换x和y */
void swap(int* x, int* y)
{
int temp = *x;
*x = *y;
*y = temp;
}
int main()
{
int a, b, c;
printf("请输入 a,b,c:\n");
scanf("%d,%d,%d", &a, &b, &c);
if (a > b)
swap(&a, &b);
if (a > c)
swap(&a, &c);
if (b > c)
swap(&b, &c);
printf("升序排序结果:\n");
printf("%d,%d,%d", a, b, c);
return 0;
}
```
## B
```
#include <stdio.h>
/* 交换x和y */
void swap(int* x, int* y)
{
int temp = *x;
*x = *y;
*y = temp;
}
int main()
{
int a, b, c;
printf("请输入 a,b,c:\n");
scanf("%d,%d,%d", &a, &b, &c);
if a > b
swap(&a, &b);
if a > c
swap(&a, &c);
if b > c
swap(&b, &c);
printf("升序排序结果:\n");
printf("%d,%d,%d", a, b, c);
return 0;
}
```
## C
```
#include <stdio.h>
/* 交换x和y */
void swap(int* x, int* y)
{
int temp = *x;
*x = *y;
*y = temp;
}
int main()
{
int a, b, c;
printf("请输入 a,b,c:\n");
scanf("%d,%d,%d", &a, &b, &c);
if (a < b)
swap(&a, &b);
if (a < c)
swap(&a, &c);
if (b < c)
swap(&b, &c);
printf("升序排序结果:\n");
printf("%d,%d,%d", a, b, c);
return 0;
}
```
## D
```
#include <stdio.h>
/* 交换x和y */
void swap(int* x, int* y)
{
int temp = *x;
*x = *y;
*y = temp;
}
int main()
{
int a, b, c;
printf("请输入 a,b,c:\n");
scanf("%d,%d,%d", &a, &b, &c);
if (a > b):
swap(&a, &b);
if (a > c):
swap(&a, &c);
if (b > c):
swap(&b, &c);
printf("升序排序结果:\n");
printf("%d,%d,%d", a, b, c);
return 0;
}
```
{
"multiline": [
{
"if (num_1 >= num_2)": "if (num_1 < num_2)"
},
{
"if (num_1 >= num_2)": "if (num_1 >= num_2):",
"else": "else:"
},
{
"if (num_1 >= num_2)": "if num_1 >= num_2"
}
]
}
\ No newline at end of file
# 两数较大值
输入两个整数,求两个整数之间的较大值。找出正确的选项。
\ No newline at end of file
输入两个整数,求两个整数之间的较大值。找出正确的选项。
## A
```
#include <stdio.h>
int main()
{
int num_1 = 0;
int num_2 = 0;
int max_num = 0;
printf("请输入第1个整数:");
scanf("%d", &num_1);
printf("请输入第2个整数:");
scanf("%d", &num_2);
if (num_1 >= num_2)
max_num = num_1;
else
max_num = num_2;
printf("两数之间的较大值为:%d", max_num);
return 0;
}
```
## B
```
#include <stdio.h>
int main()
{
int num_1 = 0;
int num_2 = 0;
int max_num = 0;
printf("请输入第1个整数:");
scanf("%d", &num_1);
printf("请输入第2个整数:");
scanf("%d", &num_2);
if (num_1 < num_2)
max_num = num_1;
else
max_num = num_2;
printf("两数之间的较大值为:%d", max_num);
return 0;
}
```
## C
```
#include <stdio.h>
int main()
{
int num_1 = 0;
int num_2 = 0;
int max_num = 0;
printf("请输入第1个整数:");
scanf("%d", &num_1);
printf("请输入第2个整数:");
scanf("%d", &num_2);
if (num_1 >= num_2):
max_num = num_1;
else:
max_num = num_2;
printf("两数之间的较大值为:%d", max_num);
return 0;
}
```
## D
```
#include <stdio.h>
int main()
{
int num_1 = 0;
int num_2 = 0;
int max_num = 0;
printf("请输入第1个整数:");
scanf("%d", &num_1);
printf("请输入第2个整数:");
scanf("%d", &num_2);
if num_1 >= num_2
max_num = num_1;
else
max_num = num_2;
printf("两数之间的较大值为:%d", max_num);
return 0;
}
```
......@@ -4,7 +4,7 @@ int main()
{
int score;
printf("请输入成绩:");
scanf("%d",&score);
scanf("%d", &score);
if ((score > 100) || (score < 0))
{
printf("请输入百分制的成绩!");
......
{
"multiline": [
{
"int quotient = score / 10;": "int quotient = score % 10;"
},
{
"break;": "continue;"
},
{
"": ""
}
]
}
......@@ -8,4 +8,156 @@
* 小于70分且大于等于60分为等级D;
* 小于60分为等级E。
请从以下选项中找出正确答案。
\ No newline at end of file
请从以下选项中找出正确答案。
## A
```
#include<stdio.h>
int main()
{
int score;
printf("请输入成绩:");
scanf("%d", &score);
if ((score > 100) || (score < 0))
{
printf("请输入百分制的成绩!");
return 0;
}
int quotient = score / 10;
switch(quotient) {
case 10:
case 9:
printf("A");
break;
case 8:
printf("B");
break;
case 7:
printf("C");
break;
case 6:
printf("D");
break;
default:
printf("E");
break;
}
return 0;
}
```
## B
```
#include<stdio.h>
int main()
{
int score;
printf("请输入成绩:");
scanf("%d",&score);
if ((score > 100) || (score < 0))
{
printf("请输入百分制的成绩!");
return 0;
}
int quotient = score % 10;
switch(quotient) {
case 10:
case 9:
printf("A");
break;
case 8:
printf("B");
break;
case 7:
printf("C");
break;
case 6:
printf("D");
break;
default:
printf("E");
break;
}
return 0;
}
```
## C
```
#include<stdio.h>
int main()
{
int score;
printf("请输入成绩:");
scanf("%d", &score);
if ((score > 100) || (score < 0))
{
printf("请输入百分制的成绩!");
return 0;
}
int quotient = score / 10;
switch(quotient) {
case 10:
case 9:
printf("A");
continue;
case 8:
printf("B");
continue;
case 7:
printf("C");
continue;
case 6:
printf("D");
continue;
default:
printf("E");
continue;
}
return 0;
}
```
## D
```
#include<stdio.h>
int main()
{
int score;
printf("请输入成绩:");
scanf("%d", &score);
if ((score > 100) || (score < 0))
{
printf("请输入百分制的成绩!");
return 0;
}
int quotient = score / 10;
switch(quotient) {
case 10:
case 9:
printf("A");
case 8:
printf("B");
case 7:
printf("C");
case 6:
printf("D");
default:
printf("E");
}
return 0;
}
```
{
"multiline": [
{
"printf(\"%d*%d=%2d\t\", i, j, i*j);": "printf(\"%d+%d=%2d\t\", i, j, i+j);"
},
{
"for(i = 1; i <= 9; i++)": "for(i = 9; i <= 1; i--)",
"for(j = 1; j <= 9; j++)": "for(j = 9; j <= 1; j--)"
},
{
"for(i = 1; i <= 9; i++)": "for(i = 1; i <= 9; i++, j++)",
"for(j = 1; j <= 9; j++)": "for(j = 1; j <= 9; i++, j++)"
}
]
}
\ No newline at end of file
# 九九乘法表
使用for循环,打印九九乘法表。找出正确的选项。
\ No newline at end of file
使用for循环,打印九九乘法表。找出正确的选项。
## A
```
#include <stdio.h>
int main()
{
int i = 0;
int j = 0;
for(i = 1; i <= 9; i++) {
for(j = 1; j <= 9; j++)
printf("%d*%d=%2d\t", i, j, i * j);
printf("\n");
}
return 0;
}
```
## B
```
#include <stdio.h>
int main()
{
int i = 0;
int j = 0;
for(i = 1; i <= 9; i++) {
for(j = 1; j <= 9; j++)
printf("%d+%d=%2d\t", i, j, i + j);
printf("\n");
}
return 0;
}
```
## C
```
#include <stdio.h>
int main()
{
int i = 0;
int j = 0;
for(i = 9; i <= 1; i--) {
for(j = 9; j <= 1; j--)
printf("%d*%d=%2d\t", i, j, i * j);
printf("\n");
}
return 0;
}
```
## D
```
#include <stdio.h>
int main()
{
int i = 0;
int j = 0;
for(i = 1; i <= 9; i++, j++) {
for(j = 1; j <= 9; i++, j++)
printf("%d*%d=%2d\t", i, j, i * j);
printf("\n");
}
return 0;
}
```
{
"node_id": "569d5e11c4fc5de7844053d9a733c5e8",
"keywords": [
"函数",
"程序结构",
"C语言"
],
"children": [],
"export": []
"node_id": "569d5e11c4fc5de7844053d9a733c5e8",
"keywords": [
"函数",
"程序结构",
"C语言"
],
"children": [],
"export": [
{
"file": "parameter_n_argument.c",
"variants": "parameter_n_argument.json",
"depends": []
}
]
}
\ No newline at end of file
#include <stdio.h>
void swap(int* x, int* y)
{
int temp = *x;
*x = *y;
*y = temp;
}
int sum(int a, int b) {
int i;
for (i = a+1; i <= b; ++i) {
a += i;
}
return a;
}
int main() {
int m, n, total;
printf("请输入两个整数:");
scanf("%d,%d", &m, &n);
if (m > n)
swap(&m, &n);
total = sum(m, n);
printf("a = %d, b = %d\n", m, n);
printf("total = %d\n", total);
return 0;
}
\ No newline at end of file
# 形参和实参
输入两个正整数m和n,求从m加到n的和(m <= n),并输出,请选出正确答案。
## A
```
#include <stdio.h>
void swap(int* x, int* y)
{
int temp = *x;
*x = *y;
*y = temp;
}
int sum(int a, int b) {
int i;
for (i = a+1; i <= b; ++i) {
a += i;
}
return a;
}
int main() {
int m, n, total;
printf("请输入两个整数:");
scanf("%d,%d", &m, &n);
if (m > n)
swap(&m, &n);
total = sum(m, n);
printf("a = %d, b = %d\n", m, n);
printf("total = %d\n", total);
return 0;
}
```
## B
```
#include <stdio.h>
void swap(int* x, int* y)
{
int temp = *x;
*x = *y;
*y = temp;
}
void sum(int a, int b, int t) {
int i;
t = a;
for (i = a+1; i <= b; ++i) {
t += i;
}
}
int main() {
int m, n, total = 0;
printf("请输入两个整数:");
scanf("%d,%d", &m, &n);
if (m > n)
swap(&m, &n);
sum(m, n, total);
printf("a = %d, b = %d\n", m, n);
printf("total = %d\n", total);
return 0;
}
```
## C
```
#include <stdio.h>
void swap(int* x, int* y)
{
int temp = *x;
*x = *y;
*y = temp;
}
int sum(int a, int b) {
int i;
for (i = a+1; i <= b; ++i) {
a += i;
}
return a;
}
int main() {
int m, n, total;
printf("请输入两个整数:");
scanf("%d,%d", &m, &n);
if (m > n)
swap(m, n);
total = sum(n, m);
printf("a = %d, b = %d\n", m, n);
printf("total = %d\n", total);
return 0;
}
```
## D
```
#include <stdio.h>
int sum(int, int, int);
void swap(int*, int*, int*);
int main() {
int m, n, total;
printf("请输入两个整数:");
scanf("%d,%d", &m, &n);
if (m > n)
swap(&m, &n);
total = sum(m, n);
printf("a = %d, b = %d\n", m, n);
printf("total = %d\n", total);
return 0;
}
int sum(int a, int b) {
int i;
for (i = a+1; i <= b; ++i) {
a += i;
}
return a;
}
void swap(int* x, int* y)
{
int temp = *x;
*x = *y;
*y = temp;
}
```
{
"multiline": [
{
"return fibonacci(i - 1) + fibonacci(i - 2);": "return fibonacci(i - 1) + fibonacci(i + 1);"
},
{
"if (i == 0)": "if (i == -1)"
},
{
"if (i == 1)": "if (i == -1)",
"return 1;": "return -1;"
}
]
}
\ No newline at end of file
# 斐波那契数列
使用函数递归的方法打印斐波那契数列的前n个数:0 1 1 2 3 5 8 13 21 34 ……, 找出正确的选项。
## A
```
#include <stdio.h>
int fibonacci(int i)
{
if (i == 0)
return 0;
if (i == 1)
return 1;
return fibonacci(i - 1) + fibonacci(i - 2);
}
int main()
{
int i = 0;
int n = 0;
printf("请输入你要打印的长度:");
scanf("%d", &n);
for (i = 0; i < n; i++)
printf("%d ", fibonacci(i));
return 0;
}
```
## B
```
#include <stdio.h>
int fibonacci(int i)
{
if (i == 0)
return 0;
if (i == 1)
return 1;
return fibonacci(i - 1) + fibonacci(i + 1);
}
int main()
{
int i = 0;
int n = 0;
printf("请输入你要打印的长度:");
scanf("%d", &n);
for (i = 0; i < n; i++)
printf("%d ", fibonacci(i));
return 0;
}
```
## C
```
#include <stdio.h>
int fibonacci(int i)
{
if (i == -1)
return 0;
if (i == 1)
return 1;
return fibonacci(i - 1) + fibonacci(i - 2);
}
int main()
{
int i = 0;
int n = 0;
printf("请输入你要打印的长度:");
scanf("%d", &n);
for (i = 0; i < n; i++)
printf("%d ", fibonacci(i));
return 0;
}
```
## D
```
#include <stdio.h>
int fibonacci(int i)
{
if (i == 0)
return 0;
if (i == -1)
return -1;
return fibonacci(i - 1) + fibonacci(i - 2);
}
int main()
{
int i = 0;
int n = 0;
printf("请输入你要打印的长度:");
scanf("%d", &n);
for (i = 0; i < n; i++)
printf("%d ", fibonacci(i));
return 0;
}
```
#include <stdio.h>
#define LEN 5
int main()
{
int i;
int arr[LEN];
arr = {1, 2, 3, 4, 5};
for (i = 0; i < LEN; ++i)
printf("%-4d", arr[i]);
printf("\n");
return 0;
}
\ No newline at end of file
# 数组的定义和初始化
定义一个整型的一维数组,并打印数组中的元素。请选出错误答案。
## A
```
#include <stdio.h>
#define LEN 5
int main()
{
int i;
int arr[LEN];
arr = {1, 2, 3, 4, 5};
for (i = 0; i < LEN; ++i)
printf("%-4d", arr[i]);
printf("\n");
return 0;
}
```
## B
```
#include <stdio.h>
#define LEN 5
int main()
{
int i;
int arr[] = {1, 2, 3, 4, 5};
for (i = 0; i < LEN; ++i)
printf("%-4d", arr[i]);
printf("\n");
return 0;
}
```
## C
```
#include <stdio.h>
#define LEN 5
int main()
{
int i;
int arr[LEN] = {1, 2, 3, 4, 5};
for (i = 0; i < LEN; ++i)
printf("%-4d", arr[i]);
printf("\n");
return 0;
}
```
## D
```
#include <stdio.h>
#define LEN 5
int main()
{
int i;
int arr[LEN];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;
for (i = 0; i < LEN; ++i)
printf("%-4d", arr[i]);
printf("\n");
return 0;
}
```
{
"node_id": "569d5e11c4fc5de7844053d9a733c5e8",
"keywords": [
"数组",
"C语言"
],
"children": [],
"export": []
"node_id": "569d5e11c4fc5de7844053d9a733c5e8",
"keywords": [
"数组",
"C语言"
],
"children": [],
"export": [
{
"file": "array_def.c",
"variants": "array_def.json",
"depends": []
}
]
}
\ No newline at end of file
#include <stdio.h>
#include <stdbool.h>
#define LEN 10
/* 交换x和y */
void swap(int* x, int* y)
{
int temp = *x;
*x = *y;
*y = temp;
}
int main()
{
int i, j, temp;
bool is_sorted = false;
int arr[LEN] = {4, 5, 2, 10, 7, 1, 8, 3, 6, 9};
for (i = 0; i < LEN - 1; ++i)
{
is_sorted = true;
for (j = 0; j < LEN - i - 1; ++j)
if (arr[j] > arr[j + 1])
{
swap(&arr[j], &arr[j + 1]);
is_sorted = false;
}
if (is_sorted)
break;
}
printf("升序排序后的顺序为:\n");
for (i = 0; i < LEN; i++)
printf("%-4d ", arr[i]);
printf("\n");
return 0;
}
\ No newline at end of file
# 冒泡排序
用冒泡排序法对任意输入的10个整数按照从小到大的顺序进行排序。请选出正确答案。
## A
```
#include <stdio.h>
#include <stdbool.h>
#define LEN 10
/* 交换x和y */
void swap(int* x, int* y)
{
int temp = *x;
*x = *y;
*y = temp;
}
int main()
{
int i, j, temp;
bool is_sorted = false;
int arr[LEN] = {4, 5, 2, 10, 7, 1, 8, 3, 6, 9};
for (i = 0; i < LEN - 1; ++i)
{
is_sorted = true;
for (j = 0; j < LEN - i - 1; ++j)
if (arr[j] > arr[j + 1])
{
swap(&arr[j], &arr[j + 1]);
is_sorted = false;
}
if (is_sorted)
break;
}
printf("升序排序后的顺序为:\n");
for (i = 0; i < LEN; i++)
printf("%-4d ", arr[i]);
printf("\n");
return 0;
}
```
## B
```
#include <stdio.h>
#include <stdbool.h>
/* 交换x和y */
void swap(int* x, int* y)
{
int temp = *x;
*x = *y;
*y = temp;
}
int main()
{
int i, j, temp;
int len = 10;
bool is_sorted = false;
int arr[len] = {4, 5, 2, 10, 7, 1, 8, 3, 6, 9};
for (i = 0; i < len - 1; ++i)
{
is_sorted = true;
for (j = 0; j < len - i - 1; ++j)
if (arr[j] > arr[j + 1])
{
swap(&arr[j], &arr[j + 1]);
is_sorted = false;
}
if (is_sorted)
break;
}
printf("升序排序后的顺序为:\n");
for (i = 0; i < len; i++)
printf("%-4d ", arr[i]);
printf("\n");
return 0;
}
```
## C
```
#include <stdio.h>
#include <stdbool.h>
#define LEN 10
/* 交换x和y */
void swap(int* x, int* y)
{
int temp = *x;
*x = *y;
*y = temp;
}
int main()
{
int i, j, temp;
bool is_sorted = false;
int arr[LEN] = {4, 5, 2, 10, 7, 1, 8, 3, 6, 9};
for (i = 0; i < LEN - 1; ++i)
{
is_sorted = true;
for (j = 0; j < LEN - i - 1; ++j)
if (arr[j] < arr[j + 1])
{
swap(&arr[j], &arr[j + 1]);
is_sorted = false;
}
if (is_sorted)
break;
}
printf("升序排序后的顺序为:\n");
for (i = 0; i < LEN; i++)
printf("%-4d ", arr[i]);
printf("\n");
return 0;
}
```
## D
```
#include <stdio.h>
#include <stdbool.h>
#define LEN 10
/* 交换x和y */
void swap(int* x, int* y)
{
int temp = *x;
*x = *y;
*y = temp;
}
int main()
{
int i, j, temp;
bool is_sorted = false;
int arr[LEN] = {4, 5, 2, 10, 7, 1, 8, 3, 6, 9};
for (i = 0; i < LEN - 1; ++i)
{
is_sorted = true;
for (j = 0; j < LEN - i; ++j)
if (arr[j] > arr[j + 1])
{
swap(&arr[j], &arr[j + 1]);
is_sorted = false;
}
if (is_sorted)
break;
}
printf("升序排序后的顺序为:\n");
for (i = 0; i < LEN; i++)
printf("%-4d ", arr[i]);
printf("\n");
return 0;
}
```
......@@ -5,5 +5,11 @@
"C语言"
],
"children": [],
"export": []
"export": [
{
"file": "bubble_sort.c",
"variants": "bubble_sort.json",
"depends": []
}
]
}
\ No newline at end of file
#include <stdio.h>
#define dim 101
#define LEN 101
void print_matrix(int mat[][dim], int row, int col)
void print_matrix(int mat[][LEN], int row, int col)
{
for (int i = 0; i < row; ++i)
{
......@@ -13,7 +13,7 @@ void print_matrix(int mat[][dim], int row, int col)
int main()
{
int i, j, row, col, num, m[dim][dim], t[dim][dim];
int i, j, row, col, num, m[LEN][LEN], t[LEN][LEN];
printf("请输入矩阵的行数(<=100):");
scanf("%d", &row);
......@@ -32,7 +32,6 @@ int main()
for (j = 1; j <= col; ++j)
*(*(t + j) + i) = *(*(m + i) + j);
printf("转置后:\n");
print_matrix(t, col, row);
......
......@@ -5,9 +5,9 @@
## A
```
#include <stdio.h>
#define dim 101
#define LEN 101
void print_matrix(int mat[][dim], int row, int col)
void print_matrix(int mat[][LEN], int row, int col)
{
for (int i = 0; i < row; ++i)
{
......@@ -19,7 +19,7 @@ void print_matrix(int mat[][dim], int row, int col)
int main()
{
int i, j, row, col, num, m[dim][dim], t[dim][dim];
int i, j, row, col, num, m[LEN][LEN], t[LEN][LEN];
printf("请输入矩阵的行数(<=100):");
scanf("%d", &row);
......@@ -38,7 +38,6 @@ int main()
for (j = 1; j <= col; ++j)
*(*(t + j) + i) = *(*(m + i) + j);
printf("转置后:\n");
print_matrix(t, col, row);
......@@ -49,9 +48,9 @@ int main()
## B
```
#include <stdio.h>
#define dim 101
#define LEN 101
void print_matrix(int mat[][dim], int row, int col)
void print_matrix(int mat[][LEN], int row, int col)
{
for (int i = 0; i < row; ++i)
{
......@@ -63,7 +62,7 @@ void print_matrix(int mat[][dim], int row, int col)
int main()
{
int i, j, row, col, num, m[dim][dim], t[dim][dim];
int i, j, row, col, num, m[LEN][LEN], t[LEN][LEN];
printf("请输入矩阵的行数(<=100):");
scanf("%d", &row);
......@@ -92,9 +91,9 @@ int main()
## C
```
#include <stdio.h>
#define dim 101
#define LEN 101
void print_matrix(int mat[][dim], int row, int col)
void print_matrix(int mat[][LEN], int row, int col)
{
for (int i = 0; i < row; ++i)
{
......@@ -106,7 +105,7 @@ void print_matrix(int mat[][dim], int row, int col)
int main()
{
int i, j, row, col, num, m[dim][dim], t[dim][dim];
int i, j, row, col, num, m[LEN][LEN], t[LEN][LEN];
printf("请输入矩阵的行数(<=100):");
scanf("%d", &row);
......@@ -134,9 +133,9 @@ int main()
## D
```
#include <stdio.h>
#define dim 101
#define LEN 101
void print_matrix(int mat[][dim], int row, int col)
void print_matrix(int mat[][LEN], int row, int col)
{
for (int i = 0; i < row; ++i)
{
......@@ -148,7 +147,7 @@ void print_matrix(int mat[][dim], int row, int col)
int main()
{
int i, j, row, col, num, m[dim][dim], t[dim][dim];
int i, j, row, col, num, m[LEN][LEN], t[LEN][LEN];
printf("请输入矩阵的行数(<=100):");
scanf("%d", &row);
......
{
"node_id": "569d5e11c4fc5de7844053d9a733c5e8",
"keywords": [
"数组",
"C语言"
],
"children": [],
"export": [
{
"file": "vla.c",
"variants": "vla.json",
"depends": []
}
]
}
\ No newline at end of file
#include <stdio.h>
#define ROWS 3
#define COLS 4
int sum_2d_array(int rows, int cols, int arr[rows][cols])
{
int i, j, sum;
sum = 0;
for (i = 0; i < rows; ++i)
for (j = 0; j < cols; ++j)
sum += arr[i][j];
return sum;
}
int main()
{
int i, j, rows, cols, sum;
rows = 2, cols = 5;
int arr_1[ROWS][COLS] = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
int arr_2[rows][cols];
for (i = 0; i < rows; ++i)
for (j = 0; j < cols; ++j)
arr_2[i][j] = i * cols + j + 1;
sum = sum_2d_array(ROWS, COLS, arr_1);
printf("array_1中所有元素之和为:%d\n", sum);
sum = sum_2d_array(rows, cols, arr_2);
printf("array_2中所有元素之和为:%d\n", sum);
return 0;
}
\ No newline at end of file
# 求整型数组和
给定一个整型的二维数组,求二维数组中所有元素的和。请选出正确答案。
## A
```
#include <stdio.h>
#define ROWS 3
#define COLS 4
int sum_2d_array(int rows, int cols, int arr[rows][cols])
{
int i, j, sum;
sum = 0;
for (i = 0; i < rows; ++i)
for (j = 0; j < cols; ++j)
sum += arr[i][j];
return sum;
}
int main()
{
int i, j, rows, cols, sum;
rows = 2, cols = 5;
int arr_1[ROWS][COLS] = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
int arr_2[rows][cols];
for (i = 0; i < rows; ++i)
for (j = 0; j < cols; ++j)
arr_2[i][j] = i * cols + j + 1;
sum = sum_2d_array(ROWS, COLS, arr_1);
printf("array_1中所有元素之和为:%d\n", sum);
sum = sum_2d_array(rows, cols, arr_2);
printf("array_2中所有元素之和为:%d\n", sum);
return 0;
}
```
## B
```
#include <stdio.h>
#define ROWS 3
#define COLS 4
int sum_2d_array(int rows, int cols, int arr[rows][cols])
{
int i, j, sum;
sum = 0;
for (i = 0; i < rows; ++i)
for (j = 0; j < cols; ++j)
sum += arr[i][j];
return sum;
}
int main()
{
int i, j, rows, cols, sum;
rows = 2, cols = 5;
int arr_1[ROWS][COLS] = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
int arr_2[rows][cols] = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
sum = sum_2d_array(ROWS, COLS, arr_1);
printf("array_1中所有元素之和为:%d\n", sum);
sum = sum_2d_array(rows, cols, arr_2);
printf("array_2中所有元素之和为:%d\n", sum);
return 0;
}
```
## C
```
#include <stdio.h>
#define ROWS 3
#define COLS 4
int sum_2d_array(int rows, int cols, int arr[][])
{
int i, j, sum;
sum = 0;
for (i = 0; i < rows; ++i)
for (j = 0; j < cols; ++j)
sum += arr[i][j];
return sum;
}
int main()
{
int i, j, rows, cols, sum;
rows = 2, cols = 5;
int arr_1[ROWS][COLS] = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
int arr_2[rows][cols];
for (i = 0; i < rows; ++i)
for (j = 0; j < cols; ++j)
arr_2[i][j] = i * cols + j + 1;
sum = sum_2d_array(ROWS, COLS, arr_1);
printf("array_1中所有元素之和为:%d\n", sum);
sum = sum_2d_array(rows, cols, arr_2);
printf("array_2中所有元素之和为:%d\n", sum);
return 0;
}
```
## D
```
#include <stdio.h>
#define ROWS 3
#define COLS 4
int sum_2d_array(int arr[rows][cols], int rows, int cols)
{
int i, j, sum;
sum = 0;
for (i = 0; i < rows; ++i)
for (j = 0; j < cols; ++j)
sum += arr[i][j];
return sum;
}
int main()
{
int i, j, rows, cols, sum;
rows = 2, cols = 5;
int arr_1[ROWS][COLS] = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
int arr_2[rows][cols];
for (i = 0; i < rows; ++i)
for (j = 0; j < cols; ++j)
arr_2[i][j] = i * cols + j + 1;
sum = sum_2d_array(ROWS, COLS, arr_1);
printf("array_1中所有元素之和为:%d\n", sum);
sum = sum_2d_array(rows, cols, arr_2);
printf("array_2中所有元素之和为:%d\n", sum);
return 0;
}
```
{
"node_id": "569d5e11c4fc5de7844053d9a733c5e8",
"keywords": [
"数组",
"C语言"
],
"children": [],
"export": []
}
\ No newline at end of file
{
"node_id": "569d5e11c4fc5de7844053d9a733c5e8",
"keywords": [
"数组",
"C语言"
],
"children": [],
"export": []
}
\ No newline at end of file
{
"node_id": "569d5e11c4fc5de7844053d9a733c5e8",
"keywords": [
"指针",
"C语言"
],
"children": [],
"export": []
"node_id": "569d5e11c4fc5de7844053d9a733c5e8",
"keywords": [
"指针",
"C语言"
],
"children": [],
"export": [
{
"file": "pointers.c",
"variants": "pointers.json",
"depends": []
}
]
}
\ No newline at end of file
#include <stdio.h>
int main()
{
int x, y;
int* pt_x;
int* pt_y;
x = 2, y = 8;
pt_x = &x;
pt_y = &y;
printf("交换前:x = %d, y = %d\n", x, y);
int temp = *pt_x;
*pt_x = *pt_y;
*pt_y = temp;
printf("交换后:x = %d, y = %d\n", x, y);
return 0;
}
\ No newline at end of file
# 交换变量值1
使用指针交换两个变量的值。请选出正确答案。
## A
```
#include <stdio.h>
int main()
{
int x, y;
int* pt_x;
int* pt_y;
x = 2, y = 8;
pt_x = &x;
pt_y = &y;
printf("交换前:x = %d, y = %d\n", x, y);
int temp = *pt_x;
*pt_x = *pt_y;
*pt_y = temp;
printf("交换后:x = %d, y = %d\n", x, y);
return 0;
}
```
## B
```
#include <stdio.h>
int main()
{
int x, y;
int* pt_x, pt_y;
x = 2, y = 8;
pt_x = &x, pt_y = &y;
printf("交换前:x = %d, y = %d\n", x, y);
int temp = *pt_x;
*pt_x = *pt_y;
*pt_y = temp;
printf("交换后:x = %d, y = %d\n", x, y);
return 0;
}
```
## C
```
#include <stdio.h>
int main()
{
int x, y;
int* pt_x;
int* pt_y;
x = 2, y = 8;
pt_x = &x;
pt_y = &y;
printf("交换前:x = %d, y = %d\n", x, y);
int* temp = pt_x;
pt_x = pt_y;
pt_y = temp;
printf("交换后:x = %d, y = %d\n", x, y);
return 0;
}
```
## D
```
#include <stdio.h>
int main()
{
int x, y;
int* pt_x;
int* pt_y;
x = 2, y = 8;
pt_x = x;
pt_y = y;
printf("交换前:x = %d, y = %d\n", x, y);
int temp = *pt_x;
*pt_x = *pt_y;
*pt_y = temp;
printf("交换后:x = %d, y = %d\n", x, y);
return 0;
}
```
{
"node_id": "569d5e11c4fc5de7844053d9a733c5e8",
"keywords": [
"指针",
"C语言"
],
"children": [],
"export": []
"node_id": "569d5e11c4fc5de7844053d9a733c5e8",
"keywords": [
"指针",
"C语言"
],
"children": [],
"export": [
{
"file": "pointers_n_func.c",
"variants": "pointers_n_func.json",
"depends": []
}
]
}
\ No newline at end of file
#include <stdio.h>
void swap(int** x, int** y)
{
int temp = **x;
**x = **y;
**y = temp;
}
int main()
{
int x, y;
int* pt_x;
int* pt_y;
x = 2, y = 8;
pt_x = &x;
pt_y = &y;
printf("交换前:x = %d, y = %d\n", x, y);
swap(&pt_x, &pt_y);
printf("交换后:x = %d, y = %d\n", x, y);
return 0;
}
\ No newline at end of file
# 交换变量值2
使用指针与函数交换两个变量的值。请选出错误答案。
## A
```
#include <stdio.h>
void swap(int x, int y)
{
int temp = x;
x = y;
y = temp;
}
int main()
{
int x, y;
x = 2, y = 8;
printf("交换前:x = %d, y = %d\n", x, y);
swap(x, y);
printf("交换后:x = %d, y = %d\n", x, y);
return 0;
}
```
## B
```
#include <stdio.h>
void swap(int* x, int* y)
{
int temp = *x;
*x = *y;
*y = temp;
}
int main()
{
int x, y;
int* pt_x;
int* pt_y;
x = 2, y = 8;
pt_x = &x;
pt_y = &y;
printf("交换前:x = %d, y = %d\n", x, y);
swap(pt_x, pt_y);
printf("交换后:x = %d, y = %d\n", x, y);
return 0;
}
```
## C
```
#include <stdio.h>
void swap(int* x, int* y)
{
int temp = *x;
*x = *y;
*y = temp;
}
int main()
{
int x, y;
x = 2, y = 8;
printf("交换前:x = %d, y = %d\n", x, y);
swap(&x, &y);
printf("交换后:x = %d, y = %d\n", x, y);
return 0;
}
```
## D
```
#include <stdio.h>
void swap(int** x, int** y)
{
int temp = **x;
**x = **y;
**y = temp;
}
int main()
{
int x, y;
int* pt_x;
int* pt_y;
x = 2, y = 8;
pt_x = &x;
pt_y = &y;
printf("交换前:x = %d, y = %d\n", x, y);
swap(&pt_x, &pt_y);
printf("交换后:x = %d, y = %d\n", x, y);
return 0;
}
```
{
"node_id": "569d5e11c4fc5de7844053d9a733c5e8",
"keywords": [
"指针",
"C语言"
],
"children": [],
"export": []
"node_id": "569d5e11c4fc5de7844053d9a733c5e8",
"keywords": [
"指针",
"C语言"
],
"children": [],
"export": [
{
"file": "pointers_n_array.c",
"variants": "pointers_n_array.json",
"depends": []
}
]
}
\ No newline at end of file
#include <stdio.h>
#define LEN 10
int main()
{
int i, max, index = 0;
int arr[LEN] = {7, 2, 1, 3, 6, 9, 4, 10, 5, 8};
int *p = arr;
max = arr[0];
for (i = 0; i < LEN; ++i)
if (*(p + i) > max)
{
max = *(p + i);
index = i;
}
printf("max = arr[%d] = %d\n", index, max);
return 0;
}
\ No newline at end of file
# 获取数组最大值及其下标
给定一个数组,获取最大值及其下标并输出。请选出错误答案。
## A
```
#include <stdio.h>
#define LEN 10
int main()
{
int i, max, index = 0;
int arr[LEN] = {7, 2, 1, 3, 6, 9, 4, 10, 5, 8};
max = arr[0];
for (i = 0; i < LEN; ++i, ++arr)
if (*arr > max)
{
max = *arr;
index = i;
}
printf("max = arr[%d] = %d\n", index, max);
return 0;
}
```
## B
```
#include <stdio.h>
#define LEN 10
int main()
{
int i, max, index = 0;
int arr[LEN] = {7, 2, 1, 3, 6, 9, 4, 10, 5, 8};
int *p = arr;
max = arr[0];
for (i = 0; i < LEN; ++i, ++p)
if (*p > max)
{
max = *p;
index = i;
}
printf("max = arr[%d] = %d\n", index, max);
return 0;
}
```
## C
```
#include <stdio.h>
#define LEN 10
int main()
{
int i, max, index = 0;
int arr[LEN] = {7, 2, 1, 3, 6, 9, 4, 10, 5, 8};
int *p = arr;
max = arr[0];
for (i = 0; i < LEN; ++i)
if (p[i] > max)
{
max = p[i];
index = i;
}
printf("max = arr[%d] = %d\n", index, max);
return 0;
}
```
## D
```
#include <stdio.h>
#define LEN 10
int main()
{
int i, max, index = 0;
int arr[LEN] = {7, 2, 1, 3, 6, 9, 4, 10, 5, 8};
int *p = arr;
max = arr[0];
for (i = 0; i < LEN; ++i)
if (*(p + i) > max)
{
max = *(p + i);
index = i;
}
printf("max = arr[%d] = %d\n", index, max);
return 0;
}
```
#include <stdio.h>
#define row 3
#define col 4
#define ROW 3
#define COL 4
int main()
{
int i, j;
int mat[row][col] = {
int mat[ROW][COL] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
int *p = (int*)mat;
for (i = 0; i < row * col; ++i)
for (i = 0; i < ROW * COL; ++i)
{
printf("%d\t", *(++p));
if ((i + 1) % 4 == 0)
......
......@@ -5,19 +5,19 @@
## A
```
#include <stdio.h>
#define row 3
#define col 4
#define ROW 3
#define COL 4
int main()
{
int i, j;
int mat[row][col] = {
int mat[ROW][COL] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
int *p = (int*)mat;
for (i = 0; i < row * col; ++i)
for (i = 0; i < ROW * COL; ++i)
{
printf("%d\t", *(++p));
if ((i + 1) % 4 == 0)
......@@ -31,20 +31,20 @@ int main()
## B
```
#include <stdio.h>
#define row 3
#define col 4
#define ROW 3
#define COL 4
int main()
{
int i, j;
int mat[row][col] = {
int mat[ROW][COL] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
for (i = 0; i < row; ++i)
for (i = 0; i < ROW; ++i)
{
for (j = 0; j < col; ++j)
for (j = 0; j < COL; ++j)
printf("%d\t", *(*(mat + i) + j));
printf("\n");
}
......@@ -56,21 +56,21 @@ int main()
## C
```
#include <stdio.h>
#define row 3
#define col 4
#define ROW 3
#define COL 4
int main()
{
int i, j;
int mat[row][col] = {
int mat[ROW][COL] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
for (i = 0; i < row; ++i)
for (i = 0; i < ROW; ++i)
{
for (j = 0; j < col; ++j)
printf("%d\t", *(*mat + (i * col + j)));
for (j = 0; j < COL; ++j)
printf("%d\t", *(*mat + (i * COL + j)));
printf("\n");
}
......@@ -81,18 +81,18 @@ int main()
## D
```
#include <stdio.h>
#define row 3
#define col 4
#define ROW 3
#define COL 4
int main()
{
int i, j;
int mat[row][col] = {
int mat[ROW][COL] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
for (i = 0; i < row * col; ++i)
for (i = 0; i < ROW * COL; ++i)
{
printf("%d\t", *(*mat + i));
if ((i + 1) % 4 == 0)
......
{
"node_id": "569d5e11c4fc5de7844053d9a733c5e8",
"keywords": [
"指针",
"C语言"
],
"children": [],
"export": [
{
"file": "pointers_2_func.c",
"variants": "pointers_2_func.json",
"depends": []
}
]
}
\ No newline at end of file
#include <stdio.h>
int max(int a, int b)
{
return a > b ? a : b;
}
int main()
{
int x, y, max_val;
int (*p_max)(int a, int b) = max;
printf("请输入两个整数:");
scanf("%d,%d", &x, &y);
max_val = (*p_max)(x, y);
printf("两数中最大值为:%d\n", max_val);
return 0;
}
\ No newline at end of file
# 函数指针
使用函数指针调用自定义函数。请选出错误答案。
## A
```
#include <stdio.h>
int max(int a, int b)
{
return a > b ? a : b;
}
int main()
{
int x, y, max_val;
int *p_max(int, int) = max;
printf("请输入两个整数:");
scanf("%d,%d", &x, &y);
max_val = *p_max(x, y);
printf("两数中最大值为:%d\n", max_val);
return 0;
}
```
## B
```
#include <stdio.h>
int max(int a, int b)
{
return a > b ? a : b;
}
int main()
{
int x, y, max_val;
int (*p_max)(int, int) = &max;
printf("请输入两个整数:");
scanf("%d,%d", &x, &y);
max_val = p_max(x, y);
printf("两数中最大值为:%d\n", max_val);
return 0;
}
```
## C
```
#include <stdio.h>
int max(int a, int b)
{
return a > b ? a : b;
}
int main()
{
int x, y, max_val;
int (*p_max)(int, int) = max;
printf("请输入两个整数:");
scanf("%d,%d", &x, &y);
max_val = (*p_max)(x, y);
printf("两数中最大值为:%d\n", max_val);
return 0;
}
```
## D
```
#include <stdio.h>
int max(int a, int b)
{
return a > b ? a : b;
}
int main()
{
int x, y, max_val;
int (*p_max)(int a, int b) = max;
printf("请输入两个整数:");
scanf("%d,%d", &x, &y);
max_val = (*p_max)(x, y);
printf("两数中最大值为:%d\n", max_val);
return 0;
}
```
{
"node_id": "569d5e11c4fc5de7844053d9a733c5e8",
"keywords": [
"指针",
"C语言"
],
"children": [],
"export": []
}
\ No newline at end of file
{
"node_id": "569d5e11c4fc5de7844053d9a733c5e8",
"keywords": [
"指针",
"C语言"
],
"children": [],
"export": []
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册