生姜ZYX 发表于 2021-3-25 22:01:51

求助!!!!!

这如何转换成while循环
#include <stdio.h>
int main()
{
    int z, y, x;
    for( z=1; z <= 20; z++ )
      for( y=1; y<= 33; y++ )
            for( x=1 ;x<= 100; x++ )
            {
                if( 5*z+3*y+x/3==100 && x%3==0 && z+y+x==100 )
                {
                  printf("(%d %d %d)\n", z, y, x);
                }
            }
    return 0;
}
这如何转换成while循环

jackz007 发表于 2021-3-25 22:50:45

本帖最后由 jackz007 于 2021-3-25 22:55 编辑

      和 while 相比,for 语句更加简洁,所以,我一般不用 while。
#include <stdio.h>
int main(void)
{
      int z , y , x                                                       ;
      z = 1                                                               ;
      while(z <= 20) {
                y = 1                                                       ;
                while(y <= 33) {
                        x = 1;
                        while(x <= 100) {
                              if(5*z+3*y+x/3==100 && x%3==0 && z+y+x==100) {
                                        printf("(%d %d %d)\n" , z , y , x);
                              }
                              x ++                                        ;
                        }
                        y ++                                                ;
                }
                z ++                                                      ;
      }
      return 0                                                            ;
}
      正如你所见,1 条 for 语句,如果改成 while,至少得写成 3 条。

生姜ZYX 发表于 2021-4-10 18:45:36

jackz007 发表于 2021-3-25 22:50
和 while 相比,for 语句更加简洁,所以,我一般不用 while。

      正如你所见,1 条 for 语 ...

谢谢谢
页: [1]
查看完整版本: 求助!!!!!