编了个C++程序,用递归函数算阶乘,老算成0。

来源:百度知道 编辑:UC知道 时间:2024/07/04 02:34:52
#include <iostream>
using namespace std;
int jiecheng (int n);
int r;
int main()
{
int number;
for(;;)
{
cin>>number;
if(!cin)
{
cin.clear();
while (cin.get()!='/n')
continue;
cout<<"bad input ,terminate";
break;}
else if (number<0)
break;
cout<<number<<"! = "<<jiecheng(number);
}
return 0;
};
int jiecheng (int n)
{

if (n=0)
return 1;
else if (n>0)
r=n*jiecheng(n-1);
return r;
}

int jiecheng (int n)
{

if (n=0) //这里不是 = 应该是 == 号啊
return 1;
else if (n>0)
r=n*jiecheng(n-1);
return r;
}

#include <iostream>
using namespace std;
int jiecheng (int n);
int r;
int main()
{
int number;
for(;;)
{
cin>>number;
if(!cin)
{
cin.clear();
while (cin.get()!='/n')
continue;
cout<<"bad input ,terminate";
break;}
else if (number<0)
break;
cout<<number<<"! = "<<jiecheng(number);
}
return 0;
};
int jiecheng (int n)
{

if (n==0)
return 1;
else if (n>0)
r=n*jiecheng(n-1);
return r;
}

# include <stdio.h>

void main()
{
int x,f=1;
printf("Please input a number:");
scanf("%d",&x);
while(x>0)<