生活随笔
收集整理的這篇文章主要介紹了
Linux C 函数练习
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學習函數主要學習的就是函數的聲明、定義和調用,下面請看兩個例子,來幫助我們學習函數:
題目一:
編寫一個函數iswithin(),它接受兩個參數,一個是字符,另一個是字符串指針。其功能是如果字符在字符串中。就返回1 (真);如果字符不在字符串中,就返回0(假)。在一個使用循環語句為這個函數提供舒服的完整程序中進行測試。
代碼如下:
[cpp]?view plaincopy
#include?<stdio.h>?? ?? int?iswithin(char?p,char?*q)?? {?? ????while(*q)?? ????{?? ????????if(p?==?*q)?? ????????????return?1;?? ????????else?? ????????????q++;?? ????}?? ????????????return?0;?? }?? int?main(int?argc,?char?*argv[])?? {?? ????int?m;?? ????char?p,*q;?? ????p?=?*argv[1];?? ????q?=?argv[2];?? ?? ????m?=?iswithin(p,q);?? ?? ????if(m?==?1)?? ????????printf("\'%c\'?is?in?the?string!\n",p);?? ????else?? ????????printf("\'%c\'?is?not?in?the?string!\n",p);?? ?? ????return?0;?? }??
執行結果如下:
[cpp]?view plaincopy
fs@ubuntu:~/qiang/hanshu$?./hanshu2?h?hello?? 'h'?is?in?the?string!?? fs@ubuntu:~/qiang/hanshu$?./hanshu2?h?world?? 'h'?is?not?in?the?string!?? fs@ubuntu:~/qiang/hanshu$???
注意函數傳參的方式。
?
題目二、
以下函數的功能是用遞歸的方法計算?x ?的 n 階勒讓德多相式的值。已有調用語句p(n,x):編寫函數實現功能。
代碼如下:
[cpp]?view plaincopy
#include?<stdio.h>?? ?? int?p(int?n,int?x)?? {?? ????int?m;?? ?? ????if(n?==?0)?? ????????return?0;?? ????else?? ????????if(n?==?1)?? ????????????return?x;?? ????????else?? ????????{?? ????????????m?=?((2*n?-?1)*x*p(n?-?1,x)?-?(n?-?1)*p(n?-?2,x))/n;?? ????????????return?m;?? ????????}?? }?? ?? int?main(int?argc,?const?char?*argv[])?? {?? ????int?x,?n;?? ????int?q;?? ????printf("Please?input?x?and?n:\n");?? ????scanf("%d%d",&x,&n);?? ????q?=?p(n,x);?? ?? ????printf("p?=?%d\n",q);?? ?? ????return?0;?? }??
執行結果如下:
[cpp]?view plaincopy
fs@ubuntu:~/qiang/hanshu$?./hanshu1?? Please?input?x?and?n:?? 2?? 1?? p?=?2?? fs@ubuntu:~/qiang/hanshu$?./hanshu1?? Please?input?x?and?n:?? 2??? 5?? p?=?194?? fs@ubuntu:~/qiang/hanshu$?
總結
以上是生活随笔為你收集整理的Linux C 函数练习的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。