這就是遞歸調用
成都創(chuàng)新互聯(lián)是一家專業(yè)提供鞏留企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站建設、網(wǎng)站設計、H5開發(fā)、小程序制作等業(yè)務。10年已為鞏留眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡公司優(yōu)惠進行中。
遞歸要兩個方面注意
一個是結束遞歸的條件,也就是當滿足一個條件是,返回一個固定的值
一個是改變遞歸條件的語句。也就是不滿足條件的時候,調用自身,但是函數(shù)的參數(shù)要改變
如求n!就是階乘
int f(int n)
{
if(n==0)
return 0;
if(n==1) //這里是結束條件
return 1;
else
return n*f(n-1); //這里是改變條件
}
#include cstdlib
#include iostreamusing namespace std;
int calculate( int a, int b, int c )
{
return a*a*a+b*b*b+c*c*c;
}
int main(int argc, char *argv[])
{
int x, y, z, l;
cout " 計算等式的結果 " endl;
cout " ------------------------------------------------- " endl;
cout " 請輸入x,y和z的值: ";
cin x y z;
l = calculate( x, y, z );
cout " 這3個數(shù)的立方和是 " l endl;
system("PAUSE");
return EXIT_SUCCESS;
}
做好了,請檢查。。。
#include stdio.h
void fun(int * a,int k);
void main()
{
int a[10];
printf("請輸入10個整數(shù):\n");
for(int i=0;i10;i++)
{
scanf("%d",a[i]);
}
fun(a,sizeof(a)/sizeof(a[0]));
}
void fun(int a[],int k)//這就是你想要的函數(shù)
{
int g0=0,t0=0,e0=0;/*g0就是0,t0就是小于0,e0就等0*/
for(int i=0;ik;i++)
{
if(a[i]0) g0++;
if(a[i]==0) e0++;
if(a[i]0) t0++;
}
printf("大于0的個數(shù)為:%d\n",g0);
printf("小于0的個數(shù)為:%d\n",t0);
printf("等于0的個數(shù)為:%d\n",e0);
}
/*
說明就和ichenq的差不多,只是ichenq的那個有問題,比如他的if語句里多了幾個";"號,導致無沒通過,另外我用他的函數(shù)來測試得不到想要的結果
sizeof(a)/sizeof(a[0])就是數(shù)組a的長度*/