c语言编程题经典100例——(61~65例)

1,写一个函数,判断一个数是否为正数。


#include   
#include   

bool isPositive(int num) {  
    if (num > 0) {  
        return true;  
    } else {  
        return false;  
    }  
}
  
int main() {  
    int num, cube;  
    printf("请输入一个整数:");  
    scanf("%d", &num);  
    bool iRet = isPositive(num);
    if( iRet)
        printf("%d的是正数\n", num);  
    else
        printf("%d的是负数\n", num);  
    return 0;  

}

函数isPositive使用bool类型,返回值为true或false,表示输入的整数是否为正数。如果输入的整数大于0,则返回true;否则返回false。

2,写一个函数,计算一个整数的位数。

以下是一个C语言函数,可以计算一个整数的位数:

#include   
  
int count_digits(int num) {  
    int count = 0;  
      
    // 如果 num 是负数,先将其取绝对值  
    if (num < 0) {  
        num = -num;  
    }  
      
    // 循环计算 num 的位数  
    do {  
        count++;  
        num /= 10;  
    } while (num > 0);  
      
    return count;  
}  
  
int main() {  
    int num = 12345;  
    printf("The number of digits in %d is %d\n", num, count_digits(num));  
    return 0;  
}

这个函数首先检查传入的整数是否为负数,如果是,则将其取绝对值。然后使用 do-while 循环来除以 10,直到 num 的值变为 0,同时将 count 值加一,以计算 num 的位数。最后返回 count 的值即可。

,3,写一个函数,将一个字符串转换为小写。

下面我简单写个例子

#include   
#include   
  
void to_lower(char *str) {  
    while (*str != '\0') {  
        *str = tolower(*str);  
        str++;  
    }  
}  
  
int main() {  
    char str[] = "HELLO, WORLD!";  
    printf("Original string: %s\n", str);  
    to_lower(str);  
    printf("Lowercase string: %s\n", str);  
    return 0;  
}

        这个函数使用了C标准库中的 tolower() 函数,将字符串中的每个字符转换为小写形式。函数中使用了指针来遍历字符串中的每个字符,并通过 tolower() 函数将其转换为小写形式。在主函数中,我们声明了一个字符串变量 str,并将其传递给 to_lower() 函数以将其转换为小写形式。最后,我们在屏幕上打印出原始字符串和转换后的字符串。

4,写一个函数,计算两个数的最大公约数。

下面写一个可以计算两个数的最大公约数demo:

#include   
  
int gcd(int a, int b) {  
    if (b == 0) {  
        return a;  
    } else {  
        return gcd(b, a % b);  
    }  
}  
  
int main() {  
    int num1 = 48, num2 = 36;  
    printf("The GCD of %d and %d is %d\n", num1, num2, gcd(num1, num2));  
    return 0;  
}

        这个函数使用了递归算法来计算两个数的最大公约数。在每次递归调用中,函数将第二个参数与第一个参数取模,然后将第二个参数和取模的结果作为新的参数传递给递归函数,直到第二个参数为0为止。此时,第一个参数就是两个数的最大公约数。最后,函数返回最大公约数的值。在主函数中,我们声明了两个整数变量 num1 和 num2,并将它们传递给 gcd() 函数以计算它们的最大公约数。最后,我们在屏幕上打印出结果。

5,写一个函数,计算一个数的阶乘。

下面我写一个可以计算一个数的阶乘demo

#include   
  
int factorial(int n) {  
    int result = 1;  
    for (int i = 1; i <= n; i++) {  
        result *= i;  
    }  
    return result;  
}  
  
int main() {  
    int num = 5;  
    printf("%d! = %d\n", num, factorial(num));  
    return 0;  
}

        这个函数使用了一个循环来计算阶乘。函数接受一个整数参数 n,并返回 n 的阶乘。在函数中,我们初始化结果变量 result 为1,然后使用一个循环将 result 乘以从1到 n 的每个整数。最后,函数返回 result 的值,即 n 的阶乘。在主函数中,我们声明一个整数变量 num,并将它传递给 factorial() 函数以计算它的阶乘。最后,我们在屏幕上打印出结果。

你可能感兴趣的:(C语言技术,c语言,开发语言)