【20天学C语言】Day 7: 数组基础
📅 学习时间:3-4小时 🎯 学习目标:掌握一维数组的定义、使用和常见操作 💡 难度:★★☆☆☆
📝 Day 6 练习题答案
练习1答案:阶乘
#include <stdio.h>
int main(void)
{
int n = 5;
long long factorial = 1;
for (int i = 1; i <= n; i++) {
factorial *= i;
}
printf(\”%d! = %lld\\n\”, n, factorial);
return 0;
}
练习2答案:斐波那契
#include <stdio.h>
int main(void)
{
int n = 20;
long long a = 1, b = 1, c;
printf(\”%lld %lld \”, a, b);
for (int i = 3; i <= n; i++) {
c = a + b;
printf(\”%lld \”, c);
a = b;
b = c;
}
printf(\”\\n\”);
return 0;
}
练习3答案:最大公约数
#include <stdio.h>
int main(void)
{
int a = 48, b = 18;
int temp_a = a, temp_b = b;
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
printf(\”gcd(%d, %d) = %d\\n\”, temp_a, temp_b, a);
return 0;
}
练习4答案:菱形
#include <stdio.h>
int main(void)
{
int n = 5;
// 上半部分
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n – i; j++) {
printf(\” \”);
}
for (int j = 1; j <= 2 * i – 1; j++) {
printf(\”*\”);
}
printf(\”\\n\”);
}
// 下半部分
for (int i = n – 1; i >= 1; i—) {
for (int j = 1; j <= n – i; j++) {
printf(\” \”);
}
for (int j = 1; j <= 2 * i – 1; j++) {
printf(\”*\”);
}
printf(\”\\n\”);
}
return 0;
}
1. 知识点概述
今天我们将学习:
- 一维数组的定义与初始化
- 数组元素的访问
- 数组的遍历
- 数组越界问题
- 数组常见操作(求和、最值、查找)
- 冒泡排序和选择排序
2. 详细讲解
2.1 数组的定义
语法:
数据类型 数组名[数组长度];
示例:
#include <stdio.h>
int main(void)
{
int arr[5]; // 定义长度为5的整型数组
double scores[10]; // 定义长度为10的双精度数组
char name[


