搜索
查看: 1773|回复: 7
打印 上一主题 下一主题

求教一个解释起来很费劲的问题

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-3 23:53:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
20啊哈币
用while循环打印下列图形
1
23
456
78910
1112131415
我能明白变量a,但是b和c怎么也搞不懂。自己也推不出来,拜托路过的大神能讲解一下。如果觉得码字麻烦或者说不清楚也可以录制语音或者视频发到我qq邮箱850083632@qq.com,貌似现在qq邮箱可以录制3分钟的视频。不胜感激了~
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c;
    a=1;
    b=1;
    while(a<=5)
{
  c=0;
     while(c<a)
  {
            printf("%d",b);
            b=b+1;
            c=c+1;            
        }
printf("\n");
a=a+1;
    }
system("pause");
return 0;
}

最佳答案

查看完整内容

c是每行已经输出了的字符数 第一行要输出一个字符,第二行2个,如此每次都是c < a,所以就有while(c
沙发
发表于 2013-4-3 23:53:30 | 只看该作者
c是每行已经输出了的字符数
第一行要输出一个字符,第二行2个,如此每次都是c < a,所以就有while(c<a)

b是实际要输出的数字
每输出一个数字之后,就加上1
板凳
发表于 2013-4-4 09:23:44 | 只看该作者
你可以用两层循环解决,就类似打印99乘法表的程序,这样理解起来会容易些
#include<stdio.h>
int main()
{
for(vertic=1;vertic<=9;vertic++)
   {
   int herizon;
   int vertic;
   for(herizon=1;herizon<=vertic;herizon++)
      {printf("%d*%d=%d",vertic,herizon,vertic*herizon);}
   printf"\d";
   return 0;
   }
}



地板
发表于 2013-4-4 09:26:04 | 只看该作者
如果你理解了上面的对于这个也不难,一会给出这个的for的形式,你可能会理解起来跟高
5#
发表于 2013-4-4 09:30:55 | 只看该作者
  1. #include<stdio.h>
  2. int main()
  3. {
  4. for(i=1;i<=5;i++)
  5. for(j=0;j<i;j++)
  6.    printf("%d  ",i+j);
  7.   printf("\n");
  8. return 0;
  9. }
复制代码
6#
发表于 2013-4-4 09:31:15 | 只看该作者
没有实验,不知道对不对
7#
发表于 2013-4-4 09:40:35 | 只看该作者
#include<stdio.h>
int main()
{   int herizon;
   int vertic;
for(vertic=1;vertic<=9;vertic++)
   {for(herizon=1;herizon<=vertic;herizon++)
      printf("%d*%d=%d  ",vertic,herizon,vertic*herizon);
   printf("\n");}
   getchar();
   return 0;
   
}
8#
发表于 2013-4-4 09:40:42 | 只看该作者
#include<stdio.h>
int main()
{   int herizon;
   int vertic;
for(vertic=1;vertic<=9;vertic++)
   {for(herizon=1;herizon<=vertic;herizon++)
      printf("%d*%d=%d  ",vertic,herizon,vertic*herizon);
   printf("\n");}
   getchar();
   return 0;
   
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表