1. 程式人生 > >2015年11月17日

2015年11月17日

一.IMOOC學習了函式章節1到10章

//函式的呼叫

#include<stdio.h>

int jjj()

{

 printf("**********\n");

 return 0;

int kkk()

{

 printf("I Love You\n");

 return 0;

}

main(){

    jjj();

    kkk();

    jjj();       

    system("pause");

}

//有參與無參

#include <stdio.h>

int keOne(){

    printf("小明在慕課網上學習\n");

    return 0;

}

int keTwo(int n){

    printf("小明在慕課網上已經參與學習了%d門課程\n",n);

    return 0;

}

int main()

{

    keOne();

    keTwo(5);

    system("pause");

}

//形參與實參 (計算三角形的周長)

#include<stdio.h>

int ZC(int a,int b,int c)

{

 int sum;

 if(a+b>c&&a+c>b&&b+c>a)

 {

  sum=a+b+c;

  return sum;

}

 else

{

  return 0;

}    

}

main()

{

 int DD=ZC(3,4,5);//資料需先申明後使用 

 printf("周長是%d\n",DD);

 system("pause");

}

// 函式的返回值

//   (JoneJack同時算一道數學題,Jone算的結果並返回,而Jack算了半天說了一句話,我算不出來。)

#include <stdio.h>

 int  joneResult(int x, int y, int z)

{

   int sum = x+y+z;

   return sum;

}

 void jackResult(int x, int y, int z)

{

    printf("我算不出來\n");

    return;

}

int main()

{

    int a, b, c;

    a = 10;

    b = 20;

    c = 30;

     int jR = joneResult(a, b, c); 

    printf("Jone運算結果是:%d\n", jR);

    printf("Jack運算結果是:");

    jackResult(a,b,c);//jackResult(a,b,c);這是直接呼叫函式,這個函式裡面包含著printf,所以可以直接輸出

    system("pause");

}

*****************************************************************************

//遞迴(計算n的階乘

#include<stdio.h>

int DG(int n)

{

 int result;

 if(n<0)

 {

  printf("輸入錯誤");

  return 0;

 }

 else if(n==0||n==1)    

 {

  result=1;

 } 

 else

 {

  result=DG(n-1)*n;     

 }     

}

main()

{

 int n=5;                         //int sum=DG(10);    需需要輸出的話就要申明    

 printf("%d的階乘是%d\n",n,DG(n));//printf("%d的階乘是%d\n",n,sum);

 system("pause");     

}

**********************************************************************

// 小明為了學好英語,需要每天記單詞,第一天記1個,第二天記2個依次類推,到第10天的時候小明一共記了多少個單詞?

//請用程式碼完成,算出小明第10天開始的時候會了多少個單詞?

#include <stdio.h>

int getWordNumber(int n)

{   

    if(n == 1)

    {

        return 1;

    }

    else{

        return (1+n)*n/2 ;

    }

}

int main()

{

    int num = getWordNumber(10);

    printf("小明第10天記了:%d個單詞。\n", num);

    system("pause");

}

/*猴子第一天摘下N個桃子,當時就吃了一半,還不過癮,就又多吃了一個。第二天又將剩下的桃子吃掉一半,

又多吃了一個。以後每天都吃前一天剩下的一半零一個。

到第10天在想吃的時候就剩一個桃子了,問第一天共摘下來多少個桃子?並反向列印每天所剩桃子數。*/

#include <stdio.h>

int getPeachNumber(n)

{

    int num;   

    if(n==10)

    {

       return 1;       

    } 

    else

    {

        num = (getPeachNumber(n+1)+1)*2;   

        printf("%d天所剩桃子%d\n", n, num); 

    }

    return num;

}

int main()

{

    int num = getPeachNumber(1);

    printf("猴子第一天摘了:%d個桃子。\n", num);

    system("pause");

}

//遞迴函式練習(5個人坐在一起,問第5個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第3個人大2歲。

//問第3個人,又說比第2人大兩歲。問第2個人,說比第1個人大兩歲。最後 問第1個人,他說是10歲。請問第5個人多大?

#include<stdio.h>

int ttt(int n)

{

    int k;

    if(n==1)

    {

        return 10;            

    }

    else

    {

        return ttt(n-1)+2;

    }

}

int main() 

{

    int num=ttt(5);

printf("5個人的年齡是%d", num); 

system("pause");

}


ps:1.運算子的優先順序:!>算數運算子>關係運算符>&&>||>賦值運算子


二.九九乘法表

 #include <stdio.h>
int main() 

   int i,j,result;
   for(i=9;i>=1;i--){
      for(j=1;j<=i;j++){
          result=i*j;
          printf("%d*%d=%d\t",i,j,result);  
      }
    printf("\n");
   }
  
    system("pause");
}