| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2512 人关注过本帖, 1 人收藏
标题:二重循环编一个菱形
只看楼主 加入收藏
dong152liang
Rank: 2
来 自:廊坊
等 级:论坛游民
帖 子:56
专家分:29
注 册:2009-11-8
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:25 
二重循环编一个菱形
哥哥姐姐  帮忙用二重循环编出这个图形         
     *   
    ***
   *****
  *******
   *****
    ***
     *
                                      
搜索更多相关主题的帖子: 菱形 
2009-11-08 13:15
小J
Rank: 8Rank: 8
等 级:等待验证会员
威 望:1
帖 子:282
专家分:704
注 册:2009-6-18
收藏
得分:10 
#include "stdio.h"
void main()
{
    register int i,j;
    for(i=1;i<4;i++){
        for(j=1;j<=4-i;j++)
            printf(" ");
        for(j=1;j<=2*i-1;j++)
            printf("*");
        printf("\n");
    }
    for(i=0;i<=3;i++){
        for(j=0;j<i;j++)
            printf(" ");
        for(j=1;j<=7-2*i;j++)
            printf("*");
        printf("\n");
    }
}

[ 本帖最后由 小J 于 2009-11-8 13:25 编辑 ]
2009-11-08 13:21
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:8 
一重循环的:
程序代码:
#include<stdio.h>
int main(void)
{
    int i,j,k,s=1,n=10;            /* s记"*"星数,开始值是1,
                                      n记" "空格数,n开始值要大于等于总行数除2,就是要大于等于7/2=3,这里设为10 */
    for(i=0,j=n,k=s;i<7;)          /* 循环7次(实际不只这数),输出7行的菱形. */
      {
       if(j-->0)                   /* 开始第一次j=10,j大于0时就输出一个空格,会输出10个空格 */
          {printf(" ");continue;}  /* 输出一个" "空格,继续重新循环, */
       if(k-->0)                   /* 开始第一次k=1,输出一颗"*"星   */ 
          {printf("*");continue;}  
       printf("\n");
       if(i<3)                     /* 前四行 */
          {n--;s+=2;j=n;k=s;}      /* 减一个空格,加两颗"*"星 */
       else                        /* 后三行 */
          {n++;s-=2;j=n;k=s;}      /* 加一个空格,减两颗"*"星 */
       i++;                        /* 下一行 */
      }

    getch();
    return 0;
} 


[ 本帖最后由 UserYuH 于 2009-11-8 17:33 编辑 ]

努力—前进—变老—退休—入土
2009-11-08 13:24
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:0 
回复 3楼 UserYuH
好看
    加点注释更好看

我可好玩啦...不信你玩玩^_^
2009-11-08 13:47
zhaohuaijie
Rank: 2
等 级:论坛游民
帖 子:10
专家分:15
注 册:2009-10-14
收藏
得分:2 
#include<stdio.h>
main()
{
  int i,j,k;
  for(i=1;i<=7;i=i+2)
   {
    for(k=1;k<=(7-i)/2;k++)
     printf(" ");
    for(j=1;j<=i;j++)
     printf("*");
     printf("\n");
   }
  for(i=5;i>=1;i=i-2)
   {
    for(k=1;k<=(7-i)/2;k++)
    printf(" ");
    for(j=1;j<=i;j++)
    printf("*");
    printf("\n");
   }
   system("pause");
}
新手报道  很初级的程序  不简洁

[ 本帖最后由 zhaohuaijie 于 2009-11-8 14:02 编辑 ]
2009-11-08 13:55
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:0 
回复 4楼 pgy
加注释的任务就交给你了。

努力—前进—变老—退休—入土
2009-11-08 13:57
zhaohuaijie
Rank: 2
等 级:论坛游民
帖 子:10
专家分:15
注 册:2009-10-14
收藏
得分:0 
3楼加上注释吧
2009-11-08 14:39
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:0 
不是我造的孽
    严重支持7楼

我可好玩啦...不信你玩玩^_^
2009-11-08 14:42
premium
Rank: 2
等 级:论坛游民
帖 子:21
专家分:27
注 册:2009-10-28
收藏
得分:0 
# include<stdio.h>
 main()
 {
    int i,j,k;
    for(i=1;i<=4;i++)
    {
        for(j=1;j<=4-i;j++)
        printf(" ");
        for(j=4;j>4-i;j--)
        printf("*");
        printf("\n");
    }
 }
上半部分的,数据有出入,自己修改下ok
2009-11-08 14:48
zhaohuaijie
Rank: 2
等 级:论坛游民
帖 子:10
专家分:15
注 册:2009-10-14
收藏
得分:0 
#include<stdio.h>
int main(void)
{
    int i,j,k,s=1,n=10;

    for(i=0,j=n,k=s;i<7;)
      {
       if(j-->0)
          {printf(" ");continue;}        /*j个空格*/
       if(k-->0)
          {printf("*");continue;}        /*k个'*'*/
       printf("\n");                     /*换行*/
       if(i<3)                           /*前4行*/
          {n--;s+=2;j=n;k=s;}
       else                              /*后3行*/
          {n++;s-=2;j=n;k=s;}
       i++;
      }

    getch();
    return 0;
} 

是不是啊  指点一下
2009-11-08 14:57
快速回复:二重循环编一个菱形
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017494 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved