jeep户外品牌怎么样:我写了一个c程序 有些错误 能帮助我纠错吗

来源:百度文库 编辑:神马品牌网 时间:2024/05/02 20:14:18
int f(int x)
{int z;
z=x*x;
return z;
}
int sub(int m,int n)
{int z;
if(n==1||n==0) z=m;
else if (n%2==1) z=sub(m,n=(n/2+1))*sub(m,n/2);
else if (n%2==0) z=f(sub(m,n=n/2));
return z;
}
main()
{int m,n;
printf("enter m");
scanf("%d",&m);
printf("\n enter n:");
scanf("%d",&n);
printf("\n%d",sub(m,n));
printf("press any key to continue") ;
getch();

}
当是n=2*k是正确 当n=2k+1是运行错误
还是错了 你可以用m=3 n=4或5来试一试\

结果怎么不对呢?可以运行,当输入3 3 是 结果是27 没有错

3 3 -〉 z=sun(3,2)*sub(3,1) -> (sun(3,1))2(2是平方)*3 -> 32*3=27

代码成就天地人生,程序造就你我辉煌!
让我们在程序的路上一起走得更远 !
ASP+图形+网页讨论群2318126 RLBY工作室

也许是2k+1和(2k+1)不一样 你用笔写出过程来看看 就会觉得不同