C练习

作者: 晓晓桑 | 来源:发表于2020-04-17 11:51 被阅读0次

定义字符串s="abcde",采用递归方式,将字符串s相反顺序输出,即:“edcbd”。

void fun(char *p);

int main(void) {
    char *p = "abcde";
    fun(p);
}

void fun(char *p) {

    if (*p != '\0') {
//        p++;
        fun(++p);
        printf("%c", *(--p));
    }
}

输入字符串,统计其中的单词,单词之间用空格分隔开

#include <stdio.h>

int main(void) {
    //char
    char string[] = " hello  world ";
    int num;
    int tag = 0;

    for (int i = 0; string[i] != '\0'; ++i) {
        if (string[i] == ' ') {
            tag = 1;
        } else {
            if (tag) {
                num++;
            }
            tag = 0;
        }
    }

    printf("%d", num);
    return 0;
}

类似斐波拉契数列,有一个数列,前三项是0 0 1,没个数都等于他前三个数相加,显示前20项,每行5个数。

非递归

#include <stdio.h>
int main(void) {

    int a[20] = {};
    a[0] = 0;
    a[1] = 0;
    a[2] = 1;
    //char
    for (int i = 0; i < 20; ++i) {
        if (i > 2) {
            a[i] = a[i - 1] + a[i - 2] + a[i - 3];
        }
    }
    for (int j = 0; j < 20; ++j) {

        if (j != 0 && j % 5 == 0) {
            printf("\n");
        }
        printf("%d ", a[j]);
    }
    
    return 0;
}

递归方法

int fun(int a);
int main(void) {
    for (int i = 0; i < 20; ++i) {
        if (i % 5 == 0 && i != 0) {
            printf("\n");
        }
        printf("%d ", fun(i));
    }
    return 0;
}

//求第n项第值
int fun(int a) {
    if (a == 0) {
        return 0;
    } else if (a == 1) {
        return 0;
    } else if (a == 2) {
        return 1;
    } else {
        return fun(a - 1) + fun(a - 2) + fun(a - 3);
    }
}

从键盘输入一个字符,从特定的字符中删除这个字符

int main(void) {
    char str[] = "abcdef";
    char a;
    scanf("%c", &a);
    int k = 0;
    for (int i = 0; str[i] != '\0'; ++i) {
        if (str[i] != a) {
            str[k] = str[i];
            k++;
        }
    }
    str[k] = '\0';
    printf("%s", str);
    return 0;
}

相关文章

  • C语言100例

    C 练习实例01C 练习实例02C 练习实例03C 练习实例04C 练习实例05C 练习实例06 C 练习实例07...

  • C练习

    题目来源

  • C练习

    定义字符串s="abcde",采用递归方式,将字符串s相反顺序输出,即:“edcbd”。 输入字符串,统计其中的单...

  • C语言练习题: 函数部分

    C语言练习题:函数部分(9题) 上一篇: C语言练习题:循环部分 下一篇: C语言练习题:数组部分 斐波那契,函数...

  • C语言练习题:循环部分

    C语言练习题:循环部分(20题) 上一篇: C语言练习题:if语句部分 下一篇: C语言练习题:函数部分 求一正整...

  • 002DISC自我修正日记2

    当前现状:高I,高D,低S,高C。调整目标:高I,高D,高S,中C甚至低C。调整方向:刻意练习S,刻意练习D,刻意...

  • Python 练习小工具,统计代码行数

    Python 练习小工具,统计代码行数。Java, C, Object-C, Swift

  • 练习普通话——咬字(2)

    c—ch的练习 2 才·cái—柴·chái 草·cǎo—炒·chǎo 惨·cǎn—产·chǎn 残喘·cán c...

  • C语言练习

    重要的话说三遍 (5 分)这道超级简单的题目没有任何输入。你只需要把这句很重要的话 —— “I'm gonna W...

  • 笨办法学C 练习5:一个C程序的结构

    练习5:一个C程序的结构 原文:Exercise 5: The Structure Of A C Program ...

网友评论

      本文标题:C练习

      本文链接:https://www.haomeiwen.com/subject/gkkzphtx.html