考试

38 阅读2分钟

image.png 1. #include <stdio.h> int main() { // 定义能存5个整数的数组 int arr[5]; int i; // 输入5个整数 printf("请输入5个整数:\n"); for (i = 0; i < 5; i++) { scanf("%d", &arr[i]); } // 逆序输出 printf("逆序输出的结果是:\n"); for (i = 4; i >= 0; i--) { printf("%d ", arr[i]); } printf("\n"); return 0; }

image.png

#include <stdio.h>

// 计算整数数组平均值的函数 float calculateAverage(int arr[], int size) { // 处理数组为空的情况,避免除以0 if (size <= 0) { printf("数组长度不合法!\n"); return 0.0f; }

int sum = 0;
// 遍历数组累加元素
for (int i = 0; i < size; i++) {
    sum += arr[i];
}
// 转换为浮点型计算平均值
return (float)sum / size;

}

// 测试示例 int main() { int numbers[] = {10, 20, 30, 40, 50}; int len = sizeof(numbers) / sizeof(numbers[0]);

float avg = calculateAverage(numbers, len);
printf("数组的平均值是:%.2f\n", avg);

return 0;

}

image.png

#include <stdio.h> // 冒泡排序函数(升序排列) void bubbleSort(int arr[], int size) { // 外层循环控制排序轮数 for (int i = 0; i < size - 1; i++) { // 内层循环控制每轮比较次数 for (int j = 0; j < size - 1 - i; j++) { // 若前一个元素大于后一个元素,则交换 if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } // 测试示例 int main() { int arr[] = {64, 34, 25, 12, 22, 11, 90}; int size = sizeof(arr) / sizeof(arr[0]); printf("排序前数组:"); for (int i = 0; i < size; i++) { printf("%d ", arr[i]); } bubbleSort(arr, size); printf("\n排序后数组:"); for (int i = 0; i < size; i++) { printf("%d ", arr[i]); } return 0; }

image.png

#include <stdio.h>

// 查找目标值在数组中的第一个下标 int findFirstIndex(int arr[], int len, int target) { for (int i = 0; i < len; i++) { if (arr[i] == target) { return i; // 找到则返回当前下标 } } return -1; // 未找到返回-1 }

// 测试示例 int main() { int arr[] = {5, 2, 7, 5, 9}; int length = sizeof(arr) / sizeof(arr[0]); int target = 5;

int result = findFirstIndex(arr, length, target);
if (result != -1) {
    printf("目标值%d的第一个下标是:%d\n", target, result);
} else {
    printf("目标值%d未在数组中找到\n", target);
}

return 0;

}

image.png

#include <stdio.h> // 计算斐波那契数列第n项(递归实现) int fibonacciRecursive(int n) { if (n <= 0) { printf("n应大于0\n"); return -1; } if (n == 1 || n == 2) { return 1; // 斐波那契数列通常以第1、2项为1开始 } return fibonacciRecursive(n - 1) + fibonacciRecursive(n - 2); } // 计算斐波那契数列第n项(迭代实现,效率更高) int fibonacciIterative(int n) { if (n <= 0) { printf("n应大于0\n"); return -1; } if (n == 1 || n == 2) { return 1; } int a = 1, b = 1, c; for (int i = 3; i <= n; i++) { c = a + b; a = b; b = c; } return b; } // 测试示例 int main() { int n = 10; printf("递归法:斐波那契数列第%d项是%d\n", n, fibonacciRecursive(n)); printf("迭代法:斐波那契数列第%d项是%d\n", n, fibonacciIterative(n)); return 0; }

image.png