C 如何在for循环的最后一个循环中防止打印空间
给你们一个简单的问题: 我编写了这个循环,它打印数组的一些值。 我希望每个值之间都有空格,但我不希望在代码打印的最后一个值之后有空格 你知道我该怎么做而不让事情复杂化吗C 如何在for循环的最后一个循环中防止打印空间,c,C,给你们一个简单的问题: 我编写了这个循环,它打印数组的一些值。 我希望每个值之间都有空格,但我不希望在代码打印的最后一个值之后有空格 你知道我该怎么做而不让事情复杂化吗 for (i_talltrees=1; i_talltrees<=numtrees; i_talltrees++) { pre=i_talltrees-1; post=i_talltrees+1; if (talltrees[pre]<talltrees[i_talltrees]&&a
for (i_talltrees=1; i_talltrees<=numtrees; i_talltrees++) {
pre=i_talltrees-1;
post=i_talltrees+1;
if (talltrees[pre]<talltrees[i_talltrees]&&talltrees[i_talltrees]>talltrees[post]) {
printf("%d ", talltrees[i_talltrees]);
}
}
对于(i_-talltrees=1;i_-talltrees请尝试以下操作:
int flag = 0;
if (talltrees[pre]<talltrees[i_talltrees]&&talltrees[i_talltrees]>talltrees[post])
{
if(flag)
{
printf(" ");
flag = 0;
}
printf("%d", talltrees[i_talltrees]);
flag = 1;
}
int标志=0;
if(塔尔特里斯[前]塔尔特里斯[后])
{
国际单项体育联合会(旗)
{
printf(“”);
flag=0;
}
printf(“%d”,talltrees[i_talltrees]);
flag=1;
}
这应防止前导空格或尾随空格:
int have_printed = 0;
for (i_talltrees=1; i_talltrees<=numtrees; i_talltrees++) {
pre=i_talltrees-1;
post=i_talltrees+1;
if (talltrees[pre]<talltrees[i_talltrees]&&talltrees[i_talltrees]>talltrees[post]) {
if (have_printed) {
printf(" ");
}
else {
have_printed = 1;
}
printf("%d", talltrees[i_talltrees]);
}
}
int已打印=0;
对于(i_talltrees=1;i_talltrees更改格式
const char *format = "%d";
for (i_talltrees=1; i_talltrees<=numtrees; i_talltrees++) {
pre=i_talltrees-1;
post=i_talltrees+1;
if (talltrees[pre]<talltrees[i_talltrees]&&talltrees[i_talltrees]>talltrees[post]) {
printf(format, talltrees[i_talltrees]);
format = " %d"; // next, if any, begin with a space.
}
}
const char*format=“%d”;
对于(i_talltrees=1;i_talltrees在?中显示另一个if语句,作为旁白,您确定这是正确的吗?i_talltrees如果在开始时没有额外空间的问题,请将%d“
更改为%d”
@EdS。否。i_talltrees
变量的起始值是1,而不是0。(假设数组中有足够的元素,这样就可以了。)我认为问题的一部分是,它可能会也可能不会以任何给定的I_-talltrees
值打印。像你这样一个简单的if
如果numtrees
的值输入了if
,效果会很好,但如果它没有输入,则无法解决问题。@Macattack;请参阅循环中的条件:I-talltrEES问题不在于它是否会进入,即越界,问题在于它是否会通过以下条件:talltrees[pre]talltrees[post]
。如果[numtrees-1]
成功,将追加一个”
,但如果[numtrees]
失败,则会有一个尾随空格。@Macattack-Huh…?什么?a是什么“
将被追加”不同于“将有一个尾随空格”?您感到困惑…@H2CO3可能不清楚,困惑,否。只有当条件通过时,代码才会打印。同意吗?如果最后一个值在talltrees[numtrees]
处未通过条件,则将出现”“
打印后没有数字。有什么不清楚的吗?