• 1.首家专业真正意义的悬赏问答赚钱网站!
  • 2.我们相信:重金之下必有勇者,钱能促进回答!
  • 3.购买答案别害怕,网站有担保,不满意可退款,拒绝恶意操作!
  • 4.回答售出就有收益,永久不限次数为您持续产生收益!
  • 5.提问也可以赚钱了,提问所属答案被购买确认,也可产生收益!
  • 6.收益计量都是不限次数、时间、地点,真正意义上的摇钱树!
  • 7.购买者是提问者本人,回答者享有百分百收益!
  • 8.自问自答模式已开启!经验/文章博客/聊天记录变问答赚钱!
    未登录
    当前位置: 首页 在线答疑 计算机 问题详情

    C语言程序实现利用二叉排序树对用户输入的字符串中 0-9 数字进行统计,并返回相应的统计结果(VC++6.0)

    • 提问人:185*****804
    • 问者自答:否
    • 浏览次数:771
    • 所属领域: C语言
    期望100.00金币,托管 0.00金币
    • 发布时间 2017-12-29 14:42
    • 期望完成时间 2018-01-05
    • 首次回答(共0个回答)
    • 首次成交(共0笔成交)
    • 永无止息 预计10元成交金额

    手机号码为185*****804的用户, 现在她通过我站悬赏问答网发布了一个紧急帮助信息,标题是:【C语言程序实现利用二叉排序树对用户输入的字符串中 0-9 数字进行统计,并返回相应的统计结果(VC++6.0)】,具体需求内容是【#include <stdio.h>#include <mal...】,但是由于本站人力物力有限,由于其问题太过于专业性太强,也或者是我们根本无暇顾及该用户的具体需求,导致本站根本无法为该用户提供最有效的服务。现在她(他)通过本站悬赏问答网平台发布了这一需求,希望有能人之士能够帮他解决这一个问题,并愿意付出10元作为报酬,不甚感激。

    如果您觉得这个提问很好,可以点击左方的按钮进行推广,支持微信,短信和邮件推广。

    注:10元只是象征性的价格标示,不代表实际成交价格,实际成交价格以能回答之人的定价为准。如果答案确实好,并且列出了一部分可信的免费内容(足以让购买回答答案者用户放心购买),则您可以放心购买。如果通过本站购买产生了交易纠纷,本站愿意承担一切线上交易的成交财务风险(限定在悬赏以后发生的购买金额范围以内,不承担线下交易的人身风险以及财务风险等任何风险)。

    如果你无法确定或者不知道回答的内容是不是你想要的,可以在线咨询回答者以确定具体情况,根据具体情况请回答者做必要的修改或者补充。 如果确实已经发生了交易纠纷,您可以联系本站 仲裁处理

    提问详情

    #include <stdio.h>
    #include <malloc.h>
    #define M 100

    typedef struct Bintree
    {
    int data;
    struct Bintree *lchild,*rchild;
    }bin,*Bin; /*定义结构体,结构体指针*/

    Bin serch_node(Bin &t,int i)//&?
    {
    if(t->lchild==0 && t->rchild==0)
    return t;
    Bin pre;
    pre=(Bin)malloc(sizeof(bin));//查找插入点
    while(t)
    {
    pre=t;
    if(i<t->data)
    t=t->lchild;
    else
    t=t->rchild;
    }
    return pre;
    }

    Bin create_tree(int a[],int length) //*? 
    {
    int i=0;
    Bin root,t,pre;
    root=(Bin)malloc(sizeof(bin));
    t=(Bin)malloc(sizeof(bin));
    pre=(Bin)malloc(sizeof(bin));//在插入点插入节点
    root->data=a[i];
    root->lchild=NULL;
    root->rchild=NULL;
    for(i=1;i<length;i++)
    {
    t->data=a[i];
    t->lchild=NULL;
    t->rchild=NULL;
    pre=serch_node(root,a[i]);
    if(a[i]<pre->data)
    pre->lchild=t;
    else
    pre->rchild=t;
    }
    return root;
    }

    void MiddleOrderB_Tree(Bin T)
    {
    if (T == NULL)
    {
    return;
    }
    else
    {
    MiddleOrderB_Tree(T->lchild);//中序遍历输出二叉排序树
    printf("%d ",T->data);
    MiddleOrderB_Tree(T->rchild);
    }
    }

    void count_BTree(Bin T)
    {
    int static count[10]={0,0,0,0,0,0,0,0,0,0};
    int i;
    if (T == NULL)
    {
    return;
    }
    else
    {
    MiddleOrderB_Tree(T->lchild);//中序遍历查找0-9并统计个数
    switch(T->data)
    {
    case 0:count[0]++;
    break;
    case 1:count[1]++;
    break;
    case 2:count[2]++;
    break;
    case 3:count[3]++;
    break;
    case 4:count[4]++;
    break;
    case 5:count[5]++;
    break;
    case 6:count[6]++;
    break;
    case 7:count[7]++;
    break;
    case 8:count[8]++;
    break;
    case 9:count[9]++;
    break;
    default:break;
    }
    MiddleOrderB_Tree(T->rchild);
    }
    for(i=0;i<10;i++)
    printf("此二叉排序树中,%d的个数为%d个",i,count[i]);
    }

    void main()
    {
    Bin root;
    root=(Bin)malloc(sizeof(bin));
    int a[M],i,c;
    printf("请输入一组数来构建一颗二叉排序树,-1结束");
    scanf("%d",&c);
    for(i=0;c!=-1;i++)
    {
    a[i]=c;
    scanf("%d",&c);
    }
    for(i=0;a[i]!=-1;i++)
    {
    printf("%d",a[i]);
    }
    root=create_tree(a,i);
    MiddleOrderB_Tree(root);
    count_BTree(root);
    }

    显示全部
    我来回答 注:回答售价不受提问人的期望和托管资金影响,您可以按照自己的意愿定价。 订阅 收藏
    抱歉,暂无数据
    返回顶部 联系客服 消息中心0