程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> tang-c++編程題,求大神解答............謝謝啦...........

tang-c++編程題,求大神解答............謝謝啦...........

編輯:編程綜合問答
c++編程題,求大神解答............謝謝啦...........

在一個數組中首先判斷裡的自符是否為回文字符,如果是在按其長度排序,若相同長度的則按ASCII碼排序(用c++)求大神解救.......

最佳回答:


花了一小時弄的,,,親測。

 #include<iostream>
    using namespace std;
    bool judge(char *str);
    void sort(char *Selected[],int n);
    int Length(char *str);
    void print(char *Selected[],int n);
    int main()
    {
         const int N=6;
         char *p[N]={"f3dfg","1234321","232","sdfds","asdsa","asfxx"};
         char *Selected[N];
         int n=0;
         int i=0;
         for(i=0;i<N;i++)
         {
            if(judge(p[i])==false)
            {
                cout<<p[i]<<"不是回文字符!"<<endl;
            }
            else
            {
                cout<<p[i]<<"是回文字符!"<<endl;
                Selected[n]=p[i];
                n++;
            }
         }
         sort(Selected,n);
         print(Selected,n);
         return 0;
    }
    //判斷字符串是否為回文字符函數
    bool judge(char *str)
    {
        bool flat=true;
        int acount=0;
        for(int i=0;*(str+i)!='\0';i++)
        {
            acount++;
        }
        for(int i=0;i<=(acount-1)/2;i++)
        {
            if(*(str+i)!=*(str+(acount-1)-i))
            {
                flat=false;
            }
        }
        return flat;
    }
    //排序函數
    void sort(char *Selected[],int n)
    {
        char* temp;
        int i,j,k;
        for(i=0;i<n-1;i++)
        {
            k=i;
            for(j=i+1;j<n;j++)
                if(Length(Selected[k])>Length(Selected[j]))k=j;
            if(k!=i)
            {temp=Selected[i];Selected[i]=Selected[k];Selected[k]=temp;}
        }
        for(i=0;i<n-1;i++)
        {
            k=i;
            for(j=i+1;Length(Selected[j-1])==Length(Selected[j]);j++)
                if(strcmp(Selected[k],Selected[j]))k=j;
            if(k!=i)
            {temp=Selected[i];Selected[i]=Selected[k];Selected[k]=temp;}
        }
    }
    //計算字符串長度的函數
    int Length(char *str)
    {
        int acount=0;
        for(int i=0;*(str+i)!='\0';i++)
        {
            acount++;
        }
        return acount;
    }
    //輸出函數
    void print(char *Selected[],int n)
    {
        int i;
        for(i=0;i<n;i++)
        {
            cout<<Selected[i]<<endl;
        }
    }
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved