c语言牛逼代码
以下是一些C语言中的牛逼代码示例:
斐波那契数列:
#include <stdio.h>
int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n-1) + fibonacci(n-2);
}
int main() {
int n = 10;
printf("斐波那契数列前 %d 项:\n", n);
for (int i = 0; i < n; i++) {
printf("%d ", fibonacci(i));
}
return 0;
}
快速排序:
#include <stdio.h>
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
int partition(int arr[], int low, int high) {
int pivot = arr[high];
int i = (low - 1);
for (int j = low; j <= high - 1; j++) {
if (arr[j] < pivot) {
i++;
swap(&arr[i], &arr[j]);
}
}
swap(&arr[i + 1], &arr[high]);
return (i + 1);
}
void quickSort(int arr[], int low, int high) {
if (low < high) {
int pi = partition(arr, low, high);
quickSort(arr, low, pi - 1);
quickSort(arr, pi + 1, high);
}
}
int main() {
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr) / sizeof(arr[0]);
printf("排序前的数组:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
quickSort(arr, 0, n - 1);
printf("\n排序后的数组:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
这些代码示例展示了C语言中的一些经典算法和技巧,但并不代表C语言的全部牛逼代码。C语言作为一种底层语言,具有强大的性能和灵活性,可以用于开发各种类型的应用程序。
当然,还有很多其他的牛逼代码示例,以下是一些常见的:
阶乘计算:
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
}
return n * factorial(n-1);
}
int main() {
int n = 5;
printf("%d 的阶乘为 %d\n", n, factorial(n));
return 0;
}
矩阵转置:
#include <stdio.h>
#define N 3
void transpose(int matrix[N][N]) {
for (int i = 0; i < N; i++) {
for (int j = i+1; j < N; j++) {
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
}
int main() {
int matrix[N][N] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
printf("转置前的矩阵:\n");
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
transpose(matrix);
printf("转置后的矩阵:\n");
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
字符串反转:
#include <stdio.h>
#include <string.h>
void reverseString(char* str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
int main() {
char str[] = "Hello, World!";
printf("反转前的字符串:%s\n", str);
reverseString(str);
printf("反转后的字符串:%s\n", str);
return 0;
}
这些代码示例展示了C语言中一些常见的算法和技巧,但只是冰山一角。C语言的强大之处在于其底层的控制能力和丰富的库函数,可以实现各种复杂的功能和算法。