【問題描述】輸入兩個字串str1和str2,輸出str2在str1中的所有位置,沒有則輸出no。
【輸入形式】
【輸出形式】
【樣例輸入】abcabcabc
ab
【樣例輸出】0 3 6
#include<stdio.h>
#include<string.h>
int main(){
char str1[80],str2[80];
gets(str1);
gets(str2);
int len1,len2;
len1=strlen(str1);
len2=strlen(str2);
if(len1<len2){
printf("no reason\n");
}
int i,j=0,k=0,flag=0;
for(i=0;i<len1-1;i++){
for(;j<len2-1;j++){
if(str1[i]==str2[j]){
k++;
}
}
if(k==len2-1){
printf("%d ",i-len2+2);
k=0;
flag=1;
}
}
if(flag=0){
printf("no\n");
}
return 0;
}
只輸出了一個0
uj5u.com熱心網友回復:
for(;j<len2-1;j++)if(flag=0)
這兩處
#include<stdio.h>
#include<string.h>
int main(){
char str1[80],str2[80];
gets(str1);
gets(str2);
int len1,len2;
len1=strlen(str1);
len2=strlen(str2);
if(len1<len2){
printf("no reason\n");
}
int i,j=0,k=0,flag=0;
for(i=0;i<len1-1;i++){
for(j = 0;j<len2-1;j++){
if(str1[i]==str2[j]){
k++;
}
}
if(k==len2-1){
printf("%d ",i-len2+2);
k=0;
flag=1;
}
}
if(flag==0){
printf("no\n");
}
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/53559.html
標籤:C語言
