自已设计接口并实现之(不能用系统函数)
1.将一个字符串的所有字符转换成小写字母?
2.定义一个二叉树,并求解其叶子节点数目?
谢谢

解决方案 »

  1.   

    1.什么叫系统函数?对C#来讲Win32 API这种才能叫系统函数...2.接口和系统函数有什么关系?3.系统函数和这两个问题有什么关系?如果“系统函数”是指.NET类库...用C#不用.NET类库你干吗学C#?如果这是某个公司的面试题...建议不要去面试了...这公司没前途...
      

  2.   

    那就是说要求你写两个算法了,1,转换小写的直接用字母的整数值减去一个整数值好象就可以了吧再把
    它转换回来.2,二叉树的叶子节点的数目,好象就是2^n(n=1,2,3...)如果是求所有节点那就是 ∑2^i(i|0,1,2,3..i..n)就行了
      

  3.   

    有时函数也称为接口(另一种称法,我好象看到过)楼主可能是指函数的意思.不是指interface
      

  4.   

    很简单的。1。研究一下ascii码表。作作加减法。具体加减几忘了,自己研究。2。理解二叉树是个啥东西。用node->next==null去判断。
      

  5.   

    他说的接口应该是泛指,不是特指.NET中的接口吧
      

  6.   

    挑个简单的写写void strtolower(const char * src,  char * dst)
    {
      int i = 0;  while (src[i] != '\0')
      {
        dst[i] = src[i] >= 'A' && src[i] <= 'Z' ? src[i] - 'A' + 'a' : src[i];
        ++i;
      }  dst[i] = '\0';
    }
      

  7.   

    #include <assert.h>
    #include <stdio.h>
    #include <stdlib.h>
    /*define the flag for program */
    #define ERROR NULLint sum = 0;typedef int DATA;struct node{
       DATA  d;
       struct node *left;
       struct node *right;
    };typedef struct node NODE;
    typedef NODE *BTREE;/* Creating a binary tree. */
    BTREE new_node(void)
    {
       return (NODE *)malloc(sizeof(NODE));
    }
    BTREE init_node(DATA d1,BTREE p1,BTREE p2)
    {
       BTREE t;   t = new_node();   if(t == NULL)
       {
          return ERROR;
       }   t->d = d1;
       t->left = p1;
       t->right = p2;   return t;
    }/* Creating a linked binary tree from an array. */
    BTREE create_tree(DATA a[],int i,int size)
    {
      if(i >= size)
         return NULL;
      else
         return init_node(a[i],create_tree(a,2*i+1,size),create_tree(a,2*i+2,size));
    }void sumAllNodes(BTREE root)
    {
       if(root != NULL)
      {
        sumAllNodes(root->left);    if(root->left == NULL && root->right == NULL)
        {
         sum++;
        }
        sumAllNodes(root->right);  }}
    void main(void)
    {
      int binaryArr[10] = {5,6,7,8,9,10,11,12,15,18};
      BTREE BT = create_tree(binaryArr,0,10);
      sumAllNodes(BT);
      printf("\n%d\n",sum);
      getch();
    }
      

  8.   

    我感觉意思是,写一个接口,里边有这二个方法,但实现类不能用系统函数去实现他的功能,要自己写,比如转换小写就不能直接用
    string 类的方法去转
      

  9.   

    我还接着回笔,上面说方法实现,可能是这样理解,
    方法中来判断字母的ASCII值,
     private override string CharToLower(string str)
            {
                StringBuilder strBui = new StringBuilder(str);
                for (int i = 0; i < strBui.Length; i++)
                {                
                    if (strBui[i] >= 65 && strBui[i] <= 90)
                    {
                        strBui[i] = (char)(strBui[i] + 32);
                    }
                }            return strBui.ToString();
            }
    这是我的理解,另一个方法同理,就是不用原本string.ToLower()方法
      

  10.   

    楼主的意思就是写个函数接口吗,大家应该明白啊
    可能java的接口概念和C++中类的头文件中的类公有成员函数概念不太一样。
    楼主说的比较明白我觉得。