gpt4 book ai didi

c - 如何打印订单中的ZOJ字符串?

转载 作者:行者123 更新时间:2023-11-30 17:58:37 25 4
gpt4 key购买 nike

我必须按“ZOJ”顺序输出每个字符串。字符串长度为1到100。“E”表示输入结束。

我用 gcc 测试我的程序。我尝试了很多例子,输出都很好。然而,网上的判断结果却是错误的答案。

示例:

输入:

ZZOOOJJJ

ZZZOOOOOJJJ

ZOOOJJ

E

输出:

ZOJZOJOJ

ZOJZOJZOJZOO

ZOJOJO

谢谢!这是我的代码。

#include<stdio.h>
#include<string.h>

#define MAX_SIZE 100

main() {

char data[MAX_SIZE];
int len;
int z,o,j;
int i;
char c;

int z_index, o_index,j_index;

while(scanf("%s", data)!= EOF && (strlen(data)>=1 && data[0] != 'E')) {
len = strlen(data);

z = -1;
o = -1;
j = -1;
z_index = -1;
o_index = -1;
j_index = -1;

for(i=0; i<len; i++) {
c = data[i];
switch(c) {
case 'Z':
if(z==-1)
z_index=i,z=i;
else
z = i;
break;
case 'O':
if(o==-1)
o_index=i,o=i;
else
o = i;
break;
case 'J':
if(j==-1)
j_index=i,j=i;
else
j = i;
break;
}

}

while(z_index!=-1 || o_index!=-1 || j_index!=-1) {
if(z_index!=-1 && z_index<=z)
putchar('Z'), z_index++;
else
z_index = -1;

if(o_index!=-1 && o_index<=o)
putchar('O'), o_index++;
else
o_index = -1;

if(j_index!=-1 && j_index<=j)
putchar('J'), j_index++;
else
j_index = -1;

}
putchar('\n');
}

}

最佳答案

你真的应该让你的函数 int main() 而不仅仅是 main() 因此你应该在最后返回 0。

#include<stdio.h>
#include<string.h>

#define MAX_SIZE 100

int main() {
char data[MAX_SIZE];
int len;
int z,o,j;
int i;
char c;

int z_index, o_index,j_index;

while(scanf("%s", data)!= EOF && (strlen(data)>=1 && data[0] != 'E')) {
len = strlen(data);

z = -1;
o = -1;
j = -1;
z_index = -1;
o_index = -1;
j_index = -1;

for(i=0; i<len; i++) {
c = data[i];
switch(c) {
case 'Z':
if(z==-1)
z_index=i,z=i;
else
z = i;
break;
case 'O':
if(o==-1)
o_index=i,o=i;
else
o = i;
break;
case 'J':
if(j==-1)
j_index=i,j=i;
else
j = i;
break;
}
}

while(z_index!=-1 || o_index!=-1 || j_index!=-1) {
if(z_index!=-1 && z_index<=z)
putchar('Z'), z_index++;
else
z_index = -1;

if(o_index!=-1 && o_index<=o)
putchar('O'), o_index++;
else
o_index = -1;

if(j_index!=-1 && j_index<=j)
putchar('J'), j_index++;
else
j_index = -1;
}
putchar('\n');
}
return 0;
}

关于c - 如何打印订单中的ZOJ字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12065758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com