搜索
查看: 1995|回复: 8
打印 上一主题 下一主题

【第四章第10节第1,2题】我用while做的

[复制链接]
跳转到指定楼层
楼主
发表于 2013-8-20 14:51:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 cdzjf 于 2013-8-20 14:56 编辑

1.
我对此题做了小小的改动,让用户自己输入要打印多少行星号,这个行是指的正序部分的行数

#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c,x,y,z,t;
    a=1,c=1;
    printf("请输入要打印几行星号");
    scanf("%d",&t);
    y=t-1;
    system("cls"); //目的是把上面喊用户输入的那几个去掉,影响美观。
    while(a<=t)
     {
      b=0;
      while(b<y)
      {
       printf(" ");
       b++;
      }
     y--;
     x=1;
     while(c>=x)
      {
       printf("*");
       x++;      
      }
     c=c+2;
     printf("\n");
     a++;
     }
    a=1,b=t,c=c-4;  //如果C-2的话,将会出现同样的星号数量,这里开始要递减一个,当然也可以从上面那个就少一个也可以的。本来是递减,但上面执行完程序后,C的值是t次加2的,其值是比最后一行的星星还多2个。
    while(a<t)         //只能小于,不可以小于等于,因为这样后面多对一个空行。
     {
      x=0,y=t+1;      //t+1的目的也是让空格从这行就开始执行。
      while(y>b)
      {
      printf(" ");
      y--;
      }
      b--;
      z=c;       //本来是用C的值,但如果直接用,等下面的Z--(x--)执行完以后C就成0了,星号那个循环就再也进不去了,所有只有用一个跳板
       while(z>x)
       {
        printf("*");
        z--;            
       }
      c=c-2;
      printf("\n");
      a++;
     }     
         system("pause");
        return 0;
}


推荐
发表于 2014-12-16 16:34:40 | 只看该作者
#include <stdio.h>
#include <stdlib.h>
int main()
{
        int a,b,c;
    for(a=1;a<=9;a++)
    {
                for(b=1;b<=9;b++)
        {
                        c=b*a;
                        printf("%d*%d=%d \n",a,b,c);
        }
    }
   
   
        system("pause");
        return 0;
}
沙发
 楼主| 发表于 2013-8-20 14:52:22 | 只看该作者
2.九九乘法表
#include <stdio.h>
#include <stdlib.h>
int main()
{
        int a,b,c,t;
    a=1;
    b=1;
   // t=10;
    while(a<=9)
     {   
    t=a;
    b=1;
      while(t>=1)
       {
        c=a*b;
        printf("%d*%d=%d ",a,b,c);     
        b++;  
        t--;
       }   
       a++;
       printf("\n");
     }
        system("pause");
        return 0;
}


板凳
 楼主| 发表于 2013-8-20 17:31:20 | 只看该作者
那个九九乘法表用for做的,开始调试了很久,后来发现for后面不可以有;符号


#include <stdio.h>
#include <stdlib.h>
int main()
{
        int a,b,c,t,x=9;
    for(a=1;a<=9;a++)
     {
      //t=x,
      b=1;
      for(t=1;t<=a;t++)
       {
       c=a*b;
       printf("%d*%d=%d ",a,b,c);     
       b++;  
       }
      x--;
      printf("\n");
     }
        system("pause");
        return 0;
}
地板
发表于 2013-8-31 00:10:38 | 只看该作者
膜拜下,盗走源码查看研究。
6#
发表于 2014-12-16 16:47:11 | 只看该作者
擅自改了一些 cdzjf 製作的.

#include <stdio.h>
#include <stdlib.h>
int main()
{
        int a,b,c,x;
        for(a=1;a<=9;a++)
     {      
                b=1;
                for(x=1;x<=a;x++)
                {
                        c=a*b;
                        printf("%d*%d=%d        ",a,b,c);     
                        b++;  
                }
                printf("\n");
     }
        system("pause");
        return 0;
}
7#
发表于 2015-4-29 13:43:00 | 只看该作者
[mw_shl_code=c,true]#include <stdio.h>
#include <stdlib.h>
int main()
{
        int a,b,c;
    for(a=1;a<=9;a++)
        {
                if(a<=5)
                {
                        for(b=1;b<=5-a;b++)
                        {
                                printf(" ");
                }
                for(c=1;c<=2*a-1;c++)
                {
                        printf("*");
                        }
                        printf("\n");
                }
                if(a>5)
                {
                        for(b=1;b<=a-5;b++)
                        {
                                printf(" ");
                }
                for(c=1;c<=19-2*a;c++)
                {
                        printf("*");
                        }
                        printf("\n");
                }
    }
        system("pause");
        return 0;
}[/mw_shl_code]
8#
发表于 2015-4-29 13:48:58 | 只看该作者
[mw_shl_code=c,true]#include <stdio.h>
#include <stdlib.h>
int main()
{
        int a,b;
    for(a=1;a<=9;a++)
        {
                for(b=1;b<=a;b++)
                {
                        printf("%d*%d=%d ",b,a,b*a);
                }
                printf("\n");
    }
        system("pause");
        return 0;
}[/mw_shl_code]
9#
发表于 2017-2-14 14:37:13 | 只看该作者
cdzjf 发表于 2013-8-20 17:31
那个九九乘法表用for做的,开始调试了很久,后来发现for后面不可以有;符号

定义的x以及后面的x--有什么意义嘛
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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