gpt4 book ai didi

c - 打印列表并用逗号分隔值并以点结尾

转载 作者:行者123 更新时间:2023-11-30 18:46:10 25 4
gpt4 key购买 nike

printf("Open lockers: ");
for(int i = 0; i < sizeof(lockers); i++){
if (lockers[i] == true){
if(i == sizeof(lockers) - 1){
printf(" %d.", i +1);
}else
printf(" %d,", i +1);
}
}

//这是我得到的,但当我更改列表大小时它不起作用

最佳答案

我会通过维护一些额外的状态来解决这个问题,该状态可以跟踪它是否是第一个需要报告的打开的储物柜。然后,只需在循环外打印句点,仅一次。

printf("Open lockers: ");
int first = 1;

for (int i=0; i < sizeof(lockers); i++) {
if (lockers[i] == true) {
if (first == 0) {
printf(", ");
}
else {
first = 0;
}

printf("%d", i + 1);
}
}
printf(".");

Demo

注意:在演示中,我用 int 数组替换了 bool 储物柜数组。但其余逻辑保持不变。

关于c - 打印列表并用逗号分隔值并以点结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52772739/

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