有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;
}
#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;
}
温馨提示:答案为网友推荐,仅供参考