|

楼主 |
发表于 2017-12-16 11:11:33
|
显示全部楼层
不行
我用了其他方法,我觉得应该是输入方面问题,我改了输入方式就可以算出答案了
- #include <stdio.h>
- int Ackermann(int n,int x,int y)
- {
- int s;
- if(n==0)
- s=x+1;
- else if(n==1&&y==0)
- s=x;
- else if(n>=4&&y==0)
- s=2;
- else if(n<4&&n>=2&&y==0)
- s=n-2;
- else if(n!=0&&y!=0)
- s=(Ackermann(n-1,x,Ackermann(n,x,y-1)));
- return (s);
- }
- int main()
- {
- int s,i,n,x,y;
- printf("n=");
- scanf("%d",&n);
- printf("x=");
- scanf("%d",&x);
- printf("y=");
- scanf("%d",&y);
- if(n<0||x<0||y<0)
- {
- printf("wrong!!\n");
- }
- else
- {
- int Ackermann(int n,int x,int y);
- s=Ackermann(n,x,y);
- printf("result:%d",s);
- }
- return 0;
- }
复制代码 |
|