鱼C论坛

 找回密码
 立即注册
查看: 1162|回复: 0

[技术交流] C++旅程第五站------函数你我他222

[复制链接]
发表于 2020-4-29 20:49:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 这是她 于 2020-4-29 20:49 编辑

What lies behind you and what lies in front of you,pales in comparison to what lies inside of you.


                     递归递归..............

#include <iostream>

using namespace std;

void cultured(int n);
void subdivide(char ar[],int low,int high,int level);

int main()
{
        int smart;
        cout << "Enter a number of smart : " << endl;
        cin >> smart;
        cultured(smart);//调用函数 
        
        int len = 128,divs = 7,i;
        char ruler[len];
        for (i = 1;i < len - 2;i++)
                ruler[i]= ' ';
        ruler[len - 1]= '\0';
        int max = len - 2;
        int min = 0;
        ruler[min] = ruler[max] = '!';
        cout << ruler << endl;
        for (i = 1;i <= divs;i++)
        {
                subdivide(ruler,min,max,i);
                cout << ruler << endl;
                for(int j = 1;j < len - 2;j++)
                        ruler[j] = ' ';
        }
        
        return 0;
} 

//包含一个递归调用的递归 
void cultured(int n)
{
        cout << "Cultured........." << n << " (smart at " << &n << ")" << endl;
        if (n > 0)
                cultured(n-1);//调用n-1,一直往下调用。直到n=0;调用完以后在返回回来; 
        cout << n << " : earnest!\n";
}

//包含多个递归调用的递归
void subdivide(char ar[],int low,int high,int level)
{
        if(level == 0)
                return;
        int mid = (high + low) / 2;
        ar[mid] = '!';
        subdivide(ar,low,mid,level-1);//第一次进行递归--左边 
        subdivide(ar,mid,high,level - 1);//第二次进行递归--右边 
} 


    渣渣一枚大佬们!你给建议 给你fafa 不给建议?你还是给个吧

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 07:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表