輸入2個字串s1和s2,並拼接成一個新的字串,新字串中只包含s1和s2中所有小寫字母,並且按照字母從小到大排序
阿新 • • 發佈:2018-12-13
#include<stdio.h> #include <stdlib.h> #include<string.h> char *str_merge(char *s1, char *s2) { int lenS1 = strlen(s1); int lenS2 = strlen(s2); char *s3 =(char*)malloc(sizeof(char)*(lenS1+lenS2)); int min = (lenS1<lenS2)?lenS1:lenS2; int i,k,l,len=0; char temp; for(i=0; i<min; ++i) { if(s1[i]<=122 && s1[i]>=97) { s3[len] = s1[i]; len++; } if(s2[i]<=122 && s2[i]>=97) { s3[len] = s2[i]; len++; } } if(min == lenS1) { for(i=min; i<lenS2; ++i) { if(s2[i]<=122 && s2[i]>=97) { s3[len] = s2[i]; len++; } } } if(min == lenS2) { for(i=min; i<lenS1; ++i) { if(s1[i]<=122 && s1[i]>=97) { s3[len] = s1[i]; len++; } } } s3[len]='\0'; for(k=0; k<len-1; ++k) { for(l=k+1; l<len; ++l) { if(s3[k] > s3[l]) { temp = s3[k]; s3[k] = s3[l]; s3[l] = temp; } } } return s3; } int main() { char *str1="FGsasd"; char *str2="jGuhg"; char *str3=str_merge(str1, str2); puts(str3); return 0; }