1.遞迴和非遞迴分別實現求第n個斐波那契數。
#define _crt_secure_no_warnings
#include
#include
intfibonacci
(int n)
return
fibonacci
(n -1)
+fibonacci
(n -2)
;}intfibonacci
(int n)
return f3;
}int
main()
2.編寫乙個函式實現n^k,使用遞迴實現
#define _crt_secure_no_warnings
#include
#include
intpow
(int n,
int k)
return n*
pow(n,k-1)
;}intmain()
寫乙個遞迴函式digitsum(n),輸入乙個非負整數,返回組成它的數字之和,
例如,呼叫digitsum(1729),則應該返回1+7+2+9,它的和是19
#define _crt_secure_no_warnings
#include
#include
intdigitsum
(unsigned
int num)
return num;
}int
main()
編寫乙個函式 reverse_string(char * string)(遞迴實現)
實現:將引數字串中的字元反向排列。
要求:不能使用c函式庫中的字串操作函式。
#define _crt_secure_no_warnings
#include #include #include #include char* reverse_string(char* str)
return str;
}int main();
char ch;
printf("請輸入乙個字串(10個字元以內,以換行符終止):");
for (int i = 0; i < 10; i++)
break;
} printf("字串元素為:\t");
puts(str);
reverse_string(str);
printf("倒序輸出為:\t");
puts(str);
system("pause");
return 0;
}
5.遞迴和非遞迴分別實現strlen
#define _crt_secure_no_warnings
#include
#include
intstrlen
(char
* n)
return count;
}int
mystrlen
(char
*n)return1+
mystrlen
(n +1)
;}intmain()
;int ret =0;
printf
("請輸入字串:");
scanf
("%s"
, n)
; ret =
mystrlen
(n )
;printf
("%d\n"
, ret)
;system
("pause");
return0;
}
6.遞迴和非遞迴分別實現求n的階乘
#define _crt_secure_no_warnings
#include
#include
intfactorial
(int n)
return1;
}int
main()
printf
("%d\n"
, ret)
;system
("pause");
return0;
}
7.遞迴方式實現列印乙個整數的每一位
#define _crt_secure_no_warnings
#include
#include
void
printnum
(unsigned
int num)
printf
("%d "
, num %10)
;}void
print
(int num)
}int
main()
C語言練習 7
1.遞迴和非遞迴分別實現求第n個斐波那契數。非遞迴 int fibnotrecursion int n int prenum 1 int preprenum 1 int result 1 for int i 2 i n i return result 遞迴 int fibrecursion int ...
C語言模擬練習(7)
1.乙個陣列中只有兩個數字是出現一次,其他所有數字都出現了兩次。找出這兩個數字,程式設計實現。include void find int arr,int sz 查詢只出現一次的數字 if 1 k 出現1次為1 出現2次為2 int main int sz sizeof arr sizeof arr ...
C語言練習
練習1 include stdlib.h include iostream.h include stdio.h void main cout 輸入檔案1的資料內容 以 結束 while ch stu n void input char a a用於接收要寫入資料的檔名 inti file fp if ...