【发布时间】:2023-04-02 04:04:02
【问题描述】:
我有一个学校给定的代码,我需要这个作为我的输出: 数字双空气 0 是 000, 1 是 001, 2 是 010, 3是011, 4 是 100, 5 是 101, 6 是 110, 7 是 111 (3 位)
I need to work with for loops, this is the given code:
#include <stdio.h>
#include <string.h>
#define ZERO '0'
#define ONE '1'
int main(void)
{
char rij[8][4];
int n, m;
strcpy( rij[0], "000" );
printf( "%s\n", rij[0] );
for ( n=1; n<8; n++ )
{
strcpy( rij[n], rij[n-1] );
printf( "%s\n", rij[n] );
// *ONLY ABLE TO TYPE IN HERE !!!! THE REST IS GIVEN !!!!*
}
for( n=0; n<8; n++ )
{
printf( "%i %s\n", n, rij[n] );
}
return 0;
}
我被困在如何创建一个使用位的 for 循环。所以让我们说for(n = 0; n < 8; n++) 如何使循环从000 到001 到010。
【问题讨论】:
-
问题是“解决我的作业”吗?
-
是的,我实际上需要帮助。你不必给我答案,但也许是一些提示。
-
但是你什么都没问。你被什么困住了?
-
好吧,那是我的错。对不起!我坚持的事情是我如何制作一个使用位的for循环。所以让我们说 for(n = 0; n
-
不,您可以使用模数运算符
%- 想想它会为n % 2、n % 4等提供什么。还有其他方法 - 您可以通过移位(<<、>>)和屏蔽直接处理n的位。但这个问题太宽泛了。