1、计算字符串长度
编写一个函数 strlen_custom
,计算给定字符串的长度,不使用标准库函数 strlen
。
#include <stdio.h> // 计算字符串长度的函数 int strlen_custom(const char *str) { int length = 0; while (str[length] != '\0') { length++; } return length; } int main() { char str[] = "Hello, World!"; printf("Length of '%s' is %d\n", str, strlen_custom(str)); return 0; }
2、计算数组元素的和
编写一个函数 array_sum
,计算给定整数数组的所有元素的和。
#include <stdio.h> // 计算数组元素和的函数 int array_sum(int arr[], int size) { int sum = 0; for (int i = 0; i < size; i++) { sum += arr[i]; } return sum; } int main() { int arr[] = {1, 2, 3, 4, 5}; int size = sizeof(arr) / sizeof(arr[0]); printf("Sum of array elements is %d\n", array_sum(arr, size)); return 0; }
3、求阶乘(递归实现)
编写一个函数 factorial
,使用递归计算给定整数的阶乘。
#include <stdio.h> // 计算阶乘的递归函数 int factorial(int n) { if (n == 0 || n == 1) { return 1; } return n * factorial(n - 1); } int main() { int num = 5; printf("Factorial of %d is %d\n", num, factorial(num)); return 0; }
4、检查素数
编写一个函数 is_prime,判断给定的整数是否为素数。
#include <stdio.h> #include <stdbool.h> // 检查是否为素数的函数 bool is_prime(int num) { if (num <= 1) { return false; } for (int i = 2; i <= num / 2; i++) { if (num % i == 0) { return false; } } return true; } int main() { int num = 29; if (is_prime(num)) { printf("%d is a prime number\n", num); } else { printf("%d is not a prime number\n", num); } return 0; }
5、反转字符串
编写一个函数 reverse_string
,反转给定的字符串。
#include <stdio.h> #include <string.h> // 反转字符串的函数 void reverse_string(char *str) { int length = strlen(str); for (int i = 0; i < length / 2; i++) { char temp = str[i]; str[i] = str[length - i - 1]; str[length - i - 1] = temp; } } int main() { char str[] = "Hello, World!"; reverse_string(str); printf("Reversed string is '%s'\n", str); return 0; }