1,写一个函数,判断一个数是否为正数。
#include <stdio.h>
#include <stdbool.h> 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); elseprintf("%d的是负数\n", num); return 0; }
函数isPositive使用bool类型,返回值为true或false,表示输入的整数是否为正数。如果输入的整数大于0,则返回true;否则返回false。
2,写一个函数,计算一个整数的位数。
以下是一个C语言函数,可以计算一个整数的位数:
#include <stdio.h> 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 <stdio.h>
#include <ctype.h> 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 <stdio.h> 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 <stdio.h> 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()
函数以计算它的阶乘。最后,我们在屏幕上打印出结果。