读书人

C语言求帮忙找个异常

发布时间: 2012-11-06 14:07:00 作者: rapoo

C语言求帮忙找个错误
读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然安装ZOJ的顺序输出。当读入的字符串为E时,结束。
Input:
ZZOOOJJJ
ZZZZOOOOOJJJ
E
Output:
ZOJZOJOJ
ZOJZOJZOJZOO

代码如下:#include <stdio.h>
#include <string.h>
#define N 100
int seekz(char a[])
{
int i=0,j=0;
while(a[i]!='\0')
{
if(a[i]='Z')
{
j=1;
a[i]='A';
break;
}
i++;
}
return j;
}
int seeko(char a[])
{
int i=0,j=0;
while(a[i]!='\0')
{
if(a[i]='O')
{
j=1;
a[i]='A';
break;
}
i++;
}
return j;
}
int seekj(char a[])
{
int i=0,j=0;
while(a[i]!='\0')
{
if(a[i]='J')
{
j=1;
a[i]='A';
break;
}
i++;
}
return j;
}
void main()
{
char str[N];
int len;
scanf("%s",str);
len=strlen(str);
while(len>0)
{
if(seekz(str)==1)
{
printf("Z");
len--;
}
if(seeko(str)==1)
{
printf("O");
len--;
}
if(seekj(str)==1)
{
printf("J");
len--;
}
}
printf("%s",str);
}
为什么我输出更改后的str之后,只有第一个改成了A,其他的都没有改呢?

[解决办法]
你粗心了。
if(a[i]='Z')
if(a[i]='O')
if(a[i]='J')
应该是“==”而不是赋值符号“=”。

读书人网 >C语言

热点推荐