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;
}
#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;
}
#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; }
#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;
}
#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; }