重温c语言之,7天开整,就是随便的写写,第十一天

一:整一些小型的题目

  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 }

 

posted @ 2024-11-12 18:27  我是一个小笨蛋  阅读(76)  评论(0编辑  收藏  举报