运行结果及报错内容
#include <stdio.h>
#include "iostream"
using namespace std;
int number = 2,x,i=7;
int Number(int i)
{
if(0 == i) //当i为0时,结束递归调用
{
cout << "他出发时共赶了" << number << "只鸭子。" << endl; //当经过的村子数为0时,number为出发时的鸭子数
}
else
{
number = (number + 1 ) * 2; //计算在经过第i个村子前的鸭子数number
x = number / 2 + 1; //计算在经过第i 个村子时卖的鸭子数x
cout << "经过第" << i << "个村子时,他卖出" << x << "只鸭子。" << endl;
return Number(i - 1);
}
}
int main()
{
Number(7);
}
报错了Non-void function does not return a value in all control paths
我想要达到的结果
老赵赶着鸭子去每个村庄卖,每经过一个村庄卖去所赶的鸭子的一半又一只,这样他经过了7个村庄后还剩n个鸭子,问他出发时有多少只鸭子?