文字列を挿入(どこが間違っているのか分からない)
2041 ワード
文字列第8題
【説明】
2つの文字列strとsubstrがあり、strの文字数は10を超えず、substrの文字数は3である.substrをstrの中でASCIIコードが最も大きい文字の後ろに挿入し、複数の最大があれば最初の文字だけを考慮します.
【入力】
入力はいくつかの行を含み、各動作にはテストデータのセットがあり、フォーマットは
str substr
【出力】
テストデータのセットごとに、挿入後の文字列を出力します.
【入力例】
abcab eee
12343 555
【出力例】
abceeeab
12345553
類似度0.89
不明なエラー!
正しい
解決した
:
問題の原因:文字列の長さは単純に+-で修正できるものではありません
ソリューション:最終配列を格納するために、ループ内に新しい配列を設定します.
【説明】
2つの文字列strとsubstrがあり、strの文字数は10を超えず、substrの文字数は3である.substrをstrの中でASCIIコードが最も大きい文字の後ろに挿入し、複数の最大があれば最初の文字だけを考慮します.
【入力】
入力はいくつかの行を含み、各動作にはテストデータのセットがあり、フォーマットは
str substr
【出力】
テストデータのセットごとに、挿入後の文字列を出力します.
【入力例】
abcab eee
12343 555
【出力例】
abceeeab
12345553
#include
#include
int main(){
char str[100]={0},substr[4];
int i,l,max,j,t=0;
char ch=0;
while(scanf("%s",str)!=EOF&&scanf("%s",substr)!=EOF){
l=strlen(str);
str[l]=0;
str[l+3]='\0'; // \0 !
for(i=0;ich){
ch=str[i];
max=i;
}
} // ,!!! i , max!
for(j=max+4;j
類似度0.89
不明なエラー!
// 2,/* str , substr, str */
#include
#include
int main(){
char str[15],substr[4];
int i,l,max,j,t=0;
char ch=0;
while(scanf("%s",str)!=EOF&&scanf("%s",substr)!=EOF){
l=strlen(str);
for(i=0;ich){
ch=str[i];
max=i;
}
} // ,!!! i , max!
for(i=0;i<=max;i++){
printf("%c",str[i]);
}
printf("%.3s",substr);
for(i=max+1;i
正しい
解決した
:
#include
#include
int main(){
char str[100]={0},substr[4];
int i,l,max,j,t=0;
char ch=0;
while(scanf("%s",str)!=EOF&&scanf("%s",substr)!=EOF){
char str2[100];
l=strlen(str);
str[l]=0;
str2[l+3]='\0'; // \0 !
for(i=0;ich){
ch=str[i];
max=i;
}
} // ,!!! i , max!
for(j=max+4;j
問題の原因:文字列の長さは単純に+-で修正できるものではありません
ソリューション:最終配列を格納するために、ループ内に新しい配列を設定します.