请教下一个替换的程序哪里有错误!
题目要求将所有出现在自动生成的字母中出现的所有手动输入的字母替换成‘-’并记录位置的数字,但现在我的程序只替换掉自动生成的字母中出现的第一位手动输入的字母,请高手帮忙改下错误,谢谢!程序如下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void Array(char* Text,char* Wort){
int i=0;
while(i<50){
Text[i]=rand()%26+'a';
i++;
}
printf("Array:%s\n",Text);
printf("Wort:");
gets(Wort);
printf("\n");
}
void Tauschen(char* Text,char* Wort){
int b=0,a=0,m=0,n=0;
char zahl[50];
while(Wort[a]!='\0'){
while(Text[b]!='\0'){
if(Wort[a]==Text[b]){
Text[b]='-';
zahl[n]=b;
n++;
}
b++;
}
a++;
}
printf("Array:%s\n",Text);
printf("Stellen:");
while(m<n){
printf("%i ",zahl[m]);
m++;
}
printf("\n");
}
int main(){
char Geben[50],Gabe[10];
Array(Geben,Gabe);
Tauschen(Geben,Gabe);
system("pause");
return 0;
}
[ 本帖最后由 sodimi 于 2014-11-26 06:24 编辑 ]