求字符串长度
int my_strlen(char* arr) { if (*arr != '') return 1 + my_strlen(arr + 1); else return 0; } int main() { char arr[20]; scanf("%s", arr); printf("字符串长度为%dn", my_strlen(arr)); return 0; }
运行如下:。
求输入的每位数字之和
int DigitSum(int n) { if (n > 1) return (n % 10) + DigitSum(n / 10); else return 0; } int main() { int n=0; scanf("%d", &n); printf("每位数字之和为%dn", DigitSum(n)); return 0; }
运行如下:。
求n的k次方
int function(int n, int k) { if (k >=1) return n * function(n, k - 1); else return 1; } int main() { int n = 1, k = 1; scanf("%d %d", &n, &k); //输入n和k的值 printf("%dn",function(n, k)); return 0; }
运行如下:。
求斐波那契数
int Fibonacci(int n) { if (n <= 2) return 1; else return Fibonacci(n - 1) + Fibonacci(n - 2); } int main() { int n = 1; scanf("%d", &n); printf("第%d个斐波那契数为%dn",n,Fibonacci(n)); return 0; }
运行如下:。
实现字符串逆序
int reverse_string(char *str) { int size = strlen(str); if (size == 0 || size == 1) { return 0; } char temp = str[0]; str[0] = str[size - 1]; str[size - 1] = ''; reverse_string(str + 1); str[size - 1] = temp; return 0; } int main() { char str[] = "abcd"; reverse_string(str); int size = strlen(str); printf("%sn", str); }
运行如下:
。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)