啊哈磊_编程从这里起步

标题: 新手继续求助 [打印本页]

作者: coolllyy    时间: 2013-11-12 16:28
标题: 新手继续求助
书上第97页

请尝试用while循环打印下面图形:

1
22
333
4444
55555

这个要怎么编写啊,实验了半天  行和列都能实现,就是1,2,3,4,5这个5个数字的变量循环要怎么搞?

求助大伙~

作者: 河蟹    时间: 2013-11-12 16:28
用i控制外循环,达到换行的效果,用k控制内循环,控制数字的重复输出
{int i=1,j=1,k;
while ( i<=5)
{
  k=i;
  while (k!=0)
   {
     printf("%d",j);
     k--;
   }
  printf("\n");
  i++;
  j++;
}
       
        system("pause");
        return 0;
}
作者: cekiasoo    时间: 2013-11-12 18:09
第1行有1列,打印1;第2行有2列,打印2.......;第5行有5列,打印5,外循环的变量是不是应该和内循环的变量和要打印的数有着什么关系?
作者: 河蟹    时间: 2013-11-13 03:33
#include <stdio.h>
#include <stdlib.h>
int main()
{int i=1,j=1,k;
while ( i<=5)
{
  k=i;
  while (k!=0)
   {
     printf("%d",j);
     k--;
   }
  printf("\n");
  i++;
  j++;
}
       
        system("pause");
        return 0;
}
作者: coolllyy    时间: 2013-11-14 11:29
多细楼上的~搞定啦


int main()
{int a=1,b,j=1;
while ( a<=5)
{
  b=1;
  while (b<=a)
   {
     printf("%d",j);
     b=b+1;
   }
  printf("\n");
  a=a+1;
  j=j+1;
}
        
        system("pause");
        return 0;
}

作者: cekiasoo    时间: 2013-11-14 12:47
coolllyy 发表于 2013-11-14 11:29
多细楼上的~搞定啦

你不觉得这样 a 和 j 重复了么?打印a就好了
作者: coolllyy    时间: 2013-11-14 15:52
cekiasoo 发表于 2013-11-14 12:47
你不觉得这样 a 和 j 重复了么?打印a就好了

咦,果真是这样。


#include <stdio.h>
#include <stdlib.h>
int main()
{int a=1,b;
while ( a<=5)
{
  b=1;
  while (b<=a)
   {
     printf("%d",a);
     b=b+1;
   }
  printf("\n");
  a=a+1;

}
        
        system("pause");
        return 0;
}
编译成功了。。。。
作者: 河蟹    时间: 2013-11-14 17:26
coolllyy 发表于 2013-11-14 15:52
咦,果真是这样。

嗯,比我的更优化




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2