BD10. 字符覆盖
描述
小度有一个小写字母组成的字符串s.字符串s已经被写在墙上了.输入描述
输入包括两行,第一行一个字符串s,字符串s长度length(1 ≤ length ≤ 50),s中每个字符都是小写字母输出描述
输出一个字符串,即可以得到的字典序最大字符串示例1
输入:
fedcba ee
输出:
feeeba
C 解法, 执行用时: 2ms, 内存消耗: 348KB, 提交时间: 2019-05-02
#include<stdio.h> #include<string.h> int main() { char s[51]; char t[51]; scanf("%s%s",s,t); int lens=strlen(s); int lent=strlen(t); int i,j; char temp; //给t排序,从大到小 for(i=0;i<lent-1;i++) { for(j=i;j<lent;j++) { if(t[i]<t[j]) { temp=t[i]; t[i]=t[j]; t[j]=temp; } } } //s是不能动的,,t的元素是排好的,往s里面填的 for(i=0;i<lent;i++) { for(j=0;j<lens;j++) { if(s[j]<t[i]) { s[j]=t[i]; break; } } } printf("%s\n",s); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 364KB, 提交时间: 2020-07-28
#include<stdio.h> #include<string.h> int main() { char s[51]; char t[51]; scanf("%s%s",s,t); int lens=strlen(s); int lent=strlen(t); int i,j; char temp; //给t排序,从大到小 for(i=0;i<lent-1;i++) { for(j=i;j<lent;j++) { if(t[i]<t[j]) { temp=t[i]; t[i]=t[j]; t[j]=temp; } } } //s是不能动的,,t的元素是排好的,往s里面填的 for(i=0;i<lent;i++) { for(j=0;j<lens;j++) { if(s[j]<t[i]) { s[j]=t[i]; break; } } } printf("%s\n",s); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 364KB, 提交时间: 2019-05-26
#include<stdio.h> #include<string.h> int main() { char s[51]; char t[51]; scanf("%s%s",s,t); int lens=strlen(s); int lent=strlen(t); int i,j; char temp; //给t排序,从大到小 for(i=0;i<lent-1;i++) { for(j=i;j<lent;j++) { if(t[i]<t[j]) { temp=t[i]; t[i]=t[j]; t[j]=temp; } } } //s是不能动的,,t的元素是排好的,往s里面填的 for(i=0;i<lent;i++) { for(j=0;j<lens;j++) { if(s[j]<t[i]) { s[j]=t[i]; break; } } } printf("%s\n",s); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 368KB, 提交时间: 2019-05-26
#include<stdio.h> #include<string.h> main() { char s[51],t[51]; scanf("%s%s",s,t); int lens=strlen(s),lent=strlen(t); int i,j; char temp; //给t排序,从大到小 for(i=0;i<lent-1;i++) { for(j=i;j<lent;j++) { if(t[i]<t[j]) { temp=t[i]; t[i]=t[j]; t[j]=temp; } } } //s是不能动的,,t的元素是排好的,往s里面填的 for(i=0;i<lent;i++) { for(j=0;j<lens;j++) { if(s[j]<t[i]) { s[j]=t[i]; break; } } } printf("%s\n",s); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 372KB, 提交时间: 2020-12-23
#include<stdio.h> #include<string.h> int main() { char s[51]; char t[51]; scanf("%s%s",s,t); int lens=strlen(s); int lent=strlen(t); int i,j; char temp; //给t排序,从大到小 for(i=0;i<lent-1;i++) { for(j=i;j<lent;j++) { if(t[i]<t[j]) { temp=t[i]; t[i]=t[j]; t[j]=temp; } } } //s是不能动的,,t的元素是排好的,往s里面填的 for(i=0;i<lent;i++) { for(j=0;j<lens;j++) { if(s[j]<t[i]) { s[j]=t[i]; break; } } } printf("%s\n",s); return 0; }