1、用顺序存储实现并输出前后结果,int a[5]={2,4,6,8},插入x=5的元素2、用顺序存储实现并输出前后结果,int a[5]={1,3,5,7,9},删除x=5的元素3、将两个递增有序的线性表合并,新线性表仍然递增有序(用顺序存储结构)输出三个线性表,int a[5]={1,3,5,7,9}  b[5]={2,4,6,8,10} c[10]4、利用栈结构,编程实现十进制转换为十六进制的任务5、菲波那切数列的值满足f(N)=f(n-1)+f(n-2),编递归程序计算改值得第五项6、编写串比较函数Campare(s,t),要求输入三种情况的字符串,验证结果7、试编写从S串中删除一个子串T的算法,子串由起始位置Start和长度Len决定8、试编写程序并输出前后结果,(2,4,6,8,10) 某线性表按增序排列,插入一结点依然升序,用链式结构实现9、同上题线性表,删除一结点后依然升序,用链式结构实现

解决方案 »

  1.   

    哇! 这么多题?!?! 算了,我还有事要做,帮你up一下把。
    呵呵,有点多啊!!!!!!!!!!!!!!
    是太多了,看得偶眼都晕,先回去养养眼
    看来越来越多人把CSDN看成是义工组织了
      

  2.   

    //小生菜鸟,不知道有什么函数能返回数组的长度,所以这里全都用了参量的形式
    void PrintArray(int nArray[],int nLength)
    {
    for(int i=0;i<nLength;i++)
    cout<<nArray[i]<<" ";
    cout<<endl;
    }
    //排序
    void ByOrderArray(int nArray[],int nLength)
    {
    int nTemp;
    for(int i=0;i<nLength-1;i++)
    {
    for(int j=i+1;j<nLength;j++)
    {
    if(nArray[i]>nArray[j])
    {
    nTemp=nArray[i];
    nArray[i]=nArray[j];
    nArray[j]=nTemp;
    }
    }
    }
    PrintArray(nArray,nLength);
    }
    //删除该内容,其实就是不显示,不知道你的意思是什么,与其赋值倒不如不操作
    //想着你的意思是二分查找吧???
    int ByOrderDelArray(int nArray[],int nLength,int nAm)
    {
    int nHead=0;
    int nEnd=nLength-1;
    int nFlag=0; for(int i=-1;(2^i)<=nLength;i++)
    {
    if ( nAm > nArray[(nHead + nEnd)/2] )
    {
    nHead=(nHead+nEnd)/2;
    if (nHead==(nHead+nEnd)/2)
    nHead=nEnd;
    } else if ( nAm < nArray[(nHead + nEnd )/2])
    {
    nEnd=(nHead+nEnd)/2;
    if (nEnd==(nHead+nEnd)/2)
    nEnd=nHead; } else
    {
    int temp=nArray[(nHead+nEnd)/2];
    nArray[(nHead+nEnd)/2]=nArray[nLength-1];
    nArray[nLength-1]=temp;
    nFlag=1;
    break;
    }
    } if(nFlag==1)
    {
    ByOrderArray(nArray,nLength-1);
    return 1;
    }
    return 0;
    }
    //连接线性表
    int ConnectAll(int nArray1[],int nLength1,int nArray2[],int nLength2,int nArray3[],int nLength3)
    {
    if (nLength3<=nLength1)
    {
    int nTemp=nLength3;
    for(int i=0;i<nTemp;i++)
    {
    nArray3[i]=nArray1[i];
    }
    return 0;

    else if (nLength3>nLength1 && nLength3<=nLength1+nLength2)
    {
    int nTemp=nLength1;
    for(int i=0;i<nTemp;i++)
    {
    nArray3[i]=nArray1[i];
    }
    int _nTmep=nLength3-nLength1;
    for(i=0;i<=_nTmep;i++)
    {
    nArray3[i+nTemp]=nArray2[i];
    }
    return 1;
    } else
    {
    for(int i=0;i<nLength1;i++)
    {
    nArray3[i]=nArray1[i];
    }
    for(i=0;i<nLength2;i++)
    {
    nArray3[i]=nArray2[i];
    }
    return 2;
    }
    }
    4。不明白,栈结构的特点是先进先出,和进制转换有什么关系?难道是字节?
    ???16进制不是直接可以输出吗?要转换成字符串?刚贴过,自己找吧,不过是10转换10的。
    5。
    char pString[1024]="f(N)=";char cArray[10][3]={"1","2","3","4","5","6","7","8","9","10"};
    int count=0;
    char* Five(int n,bool flag)
    {
    if (flag)
    count++;
    if (count <= 5)
    {
    Five(n+1,true);
    Five(n+2,false);
    strcat(pString,"f(n-");
    strcat(pString,cArray[n+1]);
    strcat(pString,")+f(n-");
    strcat(pString,cArray[n+2]);
    strcat(pString,")+");
    }
    return pString;
    }void main()
    {
    pString[strlen(Five(0,true))-1]='\0';
    cout<<pString<<endl;;
    }
    6,好没水准的题目哦:)
    7,更没水准:-)
    8,9:将一二两式的稍微修改一下,在线性表上增加三个函数 一个返回地址,一个修改当前值,一个返回当前接点值,在做比较的时候,用一个变量存储结点数据地区的地址
      

  3.   

    第6题。
    如果是你的作业,劝你一句,还是不要用这种方法作。
    (如果你是计算机系并且想进入IT业)。
    如果自己实在不会,得到答案后,一定要看会它。
    以下代码在VC6中编译通过。
    #include <stdio.h>
    #include <string.h>int compare(char * s, char *t)
    {
    int res;
    if(strlen(s) > strlen(t)) res = 1;
    else if(strlen(s) < strlen(t)) res = -1;
    else res = 0;
    do
    {
    if(*s > *t) // s>t
    return 1;
    else if(*s < *t) // s<t
    return -1;
    }while(*s++ != '\0' && *t++ != '\0'); return res;
    }void main()
    {
    char s[] = "ompare";
    char t[] = "compare";
    int d = compare(s, t);
    }
      

  4.   

    哇! 这么多题?!?! 算了,我还有事要做,帮你up一下把。
    呵呵,有点多啊!!!!!!!!!!!!!!
    是太多了,看得偶眼都晕,先回去养养眼
    看来越来越多人把CSDN看成是义工组织了
    当成义工也不要紧,偏偏用高分来诱惑
      

  5.   

    哇! 这么多题?!?! 算了,我还有事要做,帮你up一下把。
    呵呵,有点多啊!!!!!!!!!!!!!!
    是太多了,看得偶眼都晕,先回去养养眼
    看来越来越多人把CSDN看成是义工组织了
    当成义工也不要紧,偏偏用高分来诱惑用高分诱惑不要紧,偏偏还有好多人来回答。
      

  6.   

    6、编写串比较函数Campare(s,t),要求输入三种情况的字符串,验证结果这个我行
    Compare(char * s, char * t)
    {
         return strcmp(s, t);
    }
    哈哈。
      

  7.   

    哇! 这么多题?!?! 算了,我还有事要做,帮你up一下把。
    呵呵,有点多啊!!!!!!!!!!!!!!
    是太多了,看得偶眼都晕,先回去养养眼
    看来越来越多人把CSDN看成是义工组织了
    当成义工也不要紧,偏偏用高分来诱惑用高分诱惑不要紧,偏偏还有好多人来回答。。很多人回答也是好事,偏偏还有很多人来接分。。(如我之流)
      

  8.   

    akiy(winexec):我有个问题,你回答了我就给你100分
      

  9.   

    哇! 这么多题?!?! 算了,我还有事要做,帮你up一下把。
    呵呵,有点多啊!!!!!!!!!!!!!!
    是太多了,看得偶眼都晕,先回去养养眼
    看来越来越多人把CSDN看成是义工组织了
    当成义工也不要紧,偏偏用高分来诱惑用高分诱惑不要紧,偏偏还有好多人来回答。。很多人回答也是好事,偏偏还有很多人来接分。。(如我们之流)