C语言编程题以及相应的函数,涵盖了字符串操作、数组处理、递归等常用的C语言编程技巧和函数实现。可以根据需要进行修改和扩展,以满足特定的需求或难度要求。

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

推荐文档

相关文档

大家感兴趣的内容

随机列表