Maj*_*ajd 2 c iteration loops stdout output
我正在迭代一些计数器以C将结果打印在像这样分隔的单行上012, 013, 014, etc...
我的代码根据某些条件结束,并且正在由机器人纠正。
我怎样才能停止打印, 代码的最后一个值之后的内容。这个想法是得到一个只有唯一数字的 3 位数字,并且按升序排列,以789;结尾。
我的功能如下:
void my_print_comb(void){
for(int i = 47; i++ < 57 ; ){
for(int j = 48; j++ < 57 ; ){
for(int k = 49; k++ < 57 ; ){
if( i != j && i != k && j != k){
while( i < j && j < k){
char a = i, b = j, c = k;
my_putchar(a);
my_putchar(b);
my_putchar(c);
my_putchar(',');
my_putchar(' ');
break;
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
打印不带逗号的元素之一。要么打印第一个元素,然后迭代数组的其余部分,并打印, 前面带有 a 的每个元素;或者打印除最后一个元素之外的所有元素,并, 在每个元素后添加一个,然后打印最后一个元素。我更喜欢第一种方法。
由于您没有显示任何代码,我只是举一个例子。
void pretty_print_ints(const int *array, size_t count)
{
// Nothing to do.
if (count == 0 || array == NULL) return;
// Print the first element, without a `,` after it.
printf("%d", array[0]);
// If there are more elements in the list, print them all, but add a `, ` separator.
for (size_t i = 1; i < count; i++) printf(", %d", array[i]);
// Add a new line at the end.
printf("\n");
}
Run Code Online (Sandbox Code Playgroud)
如果我们不知道必须打印多少个元素,它也可以工作。例如,count我们可以在遇到等于 的元素时停止,而不是在打印元素时停止0,我们唯一需要更改的是停止条件。如果我们采取相反的方式(打印count - 1元素,printf("%d, ", array[i]);我们将无法处理这种情况)。
| 归档时间: |
|
| 查看次数: |
100 次 |
| 最近记录: |