重溫c語言之,7天開整,就是隨便的寫寫,第十一天

我是一个小笨蛋發表於2024-11-12

一:整一些小型的題目

  1、題目描述:
  小樂樂上課需要走n階臺階,因為他腿比較長,所以每次可以選擇走一階或者走兩階,那麼他一共有多少種走法?
  輸入描述:包含一個整數n(1<=n<=30)
  輸出描述:輸出一個整數,即小樂樂可以走的方法數。

  直接上程式碼,之後再解釋

 1 #include<stdio.h>
 2 int fun(int n) {
 3     if (n <= 2) {
 4         return n;
 5     }
 6     else
 7     {
 8         return fun(n - 1) + fun(n - 2);
 9     }
10 }
11 int main() {
12     int n = 0;
13     scanf("%d", &n);
14     int cound = fun(n);
15     printf("%d\n", cound);
16     return 0;
17 }

  這裡就是遞迴,先想:

  n=1的時候,只有一種方法,就是邁出1步

  n=2的時候,有兩種方法,一次邁出2步,或者分別進行邁出1步之後再1步

  n>2的時候,就會有很多的方法,就是或者選擇一次邁出1步,或者選擇一次邁出2步,這個時候再繼續遞迴,那兩種方式,fun(n-1)+fun(n-2),就是這樣

  2、題目描述:

  描述
  KiKi想判斷輸入的字元是不是字母,請幫他程式設計實現。
  輸入描述 :
  多組輸入,每一行輸入一個字元。
  輸出描述 :
  針對每組輸入,輸出單獨佔一行,判斷輸入字元是否為字母,輸出內容詳見輸出樣
  例。
  示例1
  輸入 : A
  6
  輸出 : A is an alphabet.
  6 is not an alphabet.

  

  先上程式碼

 1 #include<stdio.h>
 2 int main()
 3 {
 4     char ch = 0;
 5     while (scanf("%c", &ch) != EOF) {
 6         if (ch >= 'a' && ch <= 'z') {
 7             printf("%c is an alphabet.\n", ch);
 8         }
 9         else if (ch >= 'A' && ch <= 'Z')
10         {
11             printf("%c is an alphabet.\n", ch);
12         }
13         else {
14             printf("%c is not an alphabet.\n", ch);
15         }
16         getchar();//包含換行符
17     }
18     return 0;
19 }

  這是比較常規的寫法

  還有一種小眾的寫法

#include<stdio.h>
int main()
{
    char ch = 0;
    while (scanf(" %c", &ch) != EOF) {
        if (ch >= 'a' && ch <= 'z') {
            printf("%c is an alphabet.\n", ch);
        }
        else if (ch >= 'A' && ch <= 'Z')
        {
            printf("%c is an alphabet.\n", ch);
        }
        else {
            printf("%c is not an alphabet.\n", ch);
        }
    }
    return 0;
}

  scanf(" %c", &ch) 表示從標準輸入中讀取一個字元,並將該字元儲存到 ch 變數中。如果輸入是一個空白字元(如空格、換行符),它會跳過這些空白字元,直到遇到實際的字元才會繼續讀取;EOF 是一個常量,通常定義為 -1。它用於標識輸入結束或讀取錯誤。

  再有一種寫法,利用庫函式里面的isalpha()函式來判斷是否是字母

 1 #include<stdio.h>
 2 int main()
 3 {
 4     char ch = 0;
 5     while (scanf(" %c", &ch) != EOF) {
 6         if (isalpha(ch)) {
 7             printf("%c is an alphabet.\n", ch);
 8         }
 9         else {
10             printf("%c is not an alphabet.\n", ch);
11         }
12     }
13     return 0;
14 }

相關文章