C语言,指针与字符数组排序问题

有5个字符串,首先将它们按照字符串中的字符个数由小到大排列,再分别取出每个字符串的第三个字母合并成一个新的字符串输出(若少于三个字符的输出空格)。要求:利用指针数组实现。

//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int main(void){
    char *a[]={"abcd","20t","AX90","8901a","fhdsjkla",""},b[20];
    int i,j,k;
    for(i=0;i<4;i++){
        for(k=i,j=k+1;j<5;j++)
            if(strlen(a[k])>strlen(a[j])) k=j;
        if(k!=i){
            a[5]=a[k];
            a[k]=a[j];
            a[j]=a[5];
        }
    }
    for(i=0;i<5;b[i++]=a[i][2]);
    b[i]='\0';
    printf("%s\n",b);
    return 0;
}

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网