黑马程序员技术交流社区

标题: 关于C一个for循环问题 [打印本页]

作者: 那个Mr_Z    时间: 2014-4-3 11:53
标题: 关于C一个for循环问题
提示用户输入一个人正整数,如果n是5,就输出下列图形,其它n以此类推。
     *****
     ****
     ***
     **
     *,
李杰明老师是
For( int i =0;i<n;i++)
{
  For( int j= 0;j<n-i;j - -)
         {
         Printf(“*”);
          }
Printf(“\n”);
}那我这样编译对不对?
for( int i=1;i<=n;i++ )
{
  for (int j =5;j>=i;j- -)
  {printf(“*”);
  }
  Printf(“\n”);

}机子上没有Xcode,就只能手打了T T,PS:谁给我一个那个虚拟机环境资源啊,黑苹果不会装
作者: conpgy    时间: 2014-4-3 12:04
不对。第二个for循环的第一个表达式不是j = 5; 应该是 j = n; 然后就是一样的。
作者: agelessman    时间: 2014-4-3 12:41
for( int i=1;i<=n;i++ )
{
  for (int j =n;j>=i;j- -)
  {printf(“*”);
  }
  Printf(“\n”);
你的意思就是装个虚拟机啊,分享里有说明的,我已经装好了
作者: 小、小罗    时间: 2014-4-3 12:53
本帖最后由 小、小罗 于 2014-4-3 12:55 编辑

1.应该是李明杰老师吧,不是李杰明老师:
2.老师的这段代码你写错了,j--应该写成j++:
For( int i =0;i<n;i++)
{
  For( int j= 0;j<n-i;j - -)
         {
         Printf(“*”);
          }
Printf(“\n”);
3.你写的那段代码只要把j=5改为j=n就行了,运行结果是一样;
4.苹果虚拟机论坛上好像有分享,自己找找吧
作者: 那个Mr_Z    时间: 2014-4-3 12:54
打错了打错了,汗,第二个是j= n
作者: 星河鹭起    时间: 2014-4-3 14:43
第一个代码有两个错误:
第一个错误:是李明杰老师,哈哈
第二个错误:第二个for循环应该是j++。本来J就是0,如果还减,那就没了
For( int i =0;i<n;i++)
{
  For( int j= 0;j<n-i;j ++)
         {
         Printf(“*”);
          }
Printf(“\n”);
}

关于第二个,如果j=n,我觉得没问题了。
for( int i=1;i<=n;i++ )
{
  for (int j =n;j>=i;j- -)
  {printf(“*”);
  }
  Printf(“\n”);

}

ps:我自己也没有进行编译过。
作者: 董月峰    时间: 2014-4-3 14:49
首先,楼主把老师的代码抄错了。for( int j= 0;j<n-i;j - -)没人这么写,然后回答
答:不对,第二个for循环改成
for( int i = 1;i <= n; i++ )
{
  for (int j = n - i + 1; j >= 1; j- -) // 也可以是for(int j = n; j >= i; j--)
  {printf(“*”);
  }
  Printf(“\n”);

}
第一个for循环是一共有n行,第二个for循环表示每行有多少个*




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2