问题描述
解决方案
首先你这不是递归算法,递归算法最基本的必须运算过程中直接或者间接的调用函数本身。
你的这个为题应该是 scanf() 函数的用法问题,去掉scanf()函数中除了 %d 以外的字符应该就没有问题了。
scanf()函数把从键盘读入的数存入指定的变量中,在你的程序中就是读入的数字放入整型变量n中,你的scanf()函数中除了有%d格式控制符外,还有一堆字符串,肯定是不对的。前面的格式化控制符,确定你要从键盘读入的数据的类型。
解决方案二:
因为scanf语句里面必须标准匹配!
scanf("请输入递归值%d",&n);
你就必须在屏幕输入以下内容:
请输入递归值%d
解决方案三:
写一个递归求和的给你
int foo(int n)
{
if (n == 1) return 1;
return n + foo(n - 1);
}
int main()
{
int n = 0;
scanf("%d", &n);
int sum = foo(100);
printf("%dn", sum);
}
解决方案四:
int foo(int n)
{
if (n == 1) return 1;
return n + foo(n - 1);
}
int main()
{
int n = 0;
scanf("%d", &n);
int sum = foo(n);
printf("%dn", sum);
}
时间: 2025-01-31 10:07:49