内容纲要

在函数中用指针数组或字符串实现以下功能:

  1. 实现一个函数可从传入的数组中返回最大值,用指针实现,即不限定传入数组的大小。

    #include <iostream>
    using namespace std;
    int MaxNum(int *pa,int n)
    {
    int i;
    
    int max=*pa;
    
    for(int i=0;i<n;i++)
    {
        if(*(pa+i)>max)
    {
        max=*(pa+i);
    }
        return max;
    }
    }
    void main()
    {
        int a[5],max,n;
    
        cout<<"输入五个数";
    
        for(int i=0;i<5;i++)
    
        cin>>a[i];
    
        max=MaxNum(a,5);
    
        cout<<max<<endl;
    
        system("pause");
    }

    输入n个数,按输出时的逆序排序并返回。

    #include <iostream>
    using namespace std;
    void Reverse(int *pa, int n)
    {
        int i=0;
        int t, *pa1, *pa2;
        pa1 = pa + i;
        pa2 = pa + (n - i - 1);
        t = *pa1;
        *pa1 = *pa2;
        *pa2 = t;
    }
    void main()
    {
        void Reverse(int*pa, int n);
        int i, n;
        int*pa, null[20];
        cout << "输入n数:";
        cin >> n;
        for (i = 0; i < n; i++)
        cin >> null[i];
        cout << "输入这个些数字:" << endl;
        pa = null;
        Reverse(pa, n);
        cout << "现在的顺序是:" << endl;
        for (i = 0; i < n; i++)
    {
        cout << null[i];
    }
    system("pause");
    }

    将一个有n字符的字符串从第m个字符开始全部连接到另一个字符串末尾并返回连接后的串

    void Strmcat(char*dest,char*src,int m)
    {
    int n=0;
    
    while(n<m-1)
    {
        n++;
        dest++;
    }
    while(*dest!='\0')
    {
        *dest=*src;
        dest++;
        src++;
    }
    src='\0';
    }
    void main()
    {
    void Strmcat(char*dest,char*src,int m)
    {
    int m;
    
    char dest[20],src[20];
    
    cout<<"输入字符串"<<endl;
    
    cin>>dest;    cout<<"从第几个开始复制:"<<endl;
    
    cin>>m;
    
    Strmcat(dest,src+m);
    
    cout<<"复制后为:"<<endl;
    }
    return dest;
    }
    system("pause");
    }

发表评论