| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 657 人关注过本帖
标题:想的头都大了,那位大大帮下小弟啊
只看楼主 加入收藏
ling62324777
Rank: 1
等 级:新手上路
帖 子:20
专家分:4
注 册:2011-9-6
结帖率:87.5%
收藏
已结贴  问题点数:19 回复次数:7 
想的头都大了,那位大大帮下小弟啊
       *
      ***
     *****
    *******
     *****
      ***
       *
#include<stdio.h>
main()
{int i,j,k;
for(i=1;i<=4;i++)
{printf("\t");
for(j=1;j<=2*i-1;j++)


printf("*");
printf("\n");
}
for(i=4;i>=1;i--)
{printf("\t");
for(j=7;j<=2*i-1&&j>=1;j--)


printf("*");
printf("\n");
}
}
2011-12-08 19:50
alexkh
Rank: 2
等 级:论坛游民
帖 子:37
专家分:66
注 册:2011-12-8
收藏
得分:3 
是要输出一个菱形吧,我是这样设计的。
程序代码:
main()
{
    int i,a,b,c,m,n,d;
    for(i=1;i<=4;i++)
        {for(b=5-i;b>=1;b--) printf(" ");
        for(a=1;a<=2*i-1;a++) printf("*");
        printf("\n");}
    for(m=1;m<=3;m++)
        {for(c=0;c<=m;c++) printf(" ");
        for(d=7-2*m;d>=1;d--) printf("*");
        printf("\n");
        }
    getch();
}

大致思路是:
1,先写上面4个,再写下面3个。
2,先用一个for循环控制行数,里面再用2个for循环,第一个控制空格数,第二个控制*数;
BTW,本人也是新手,变量胡乱定义,请忽略。
2011-12-09 00:36
龙添羽
Rank: 2
等 级:论坛游民
帖 子:10
专家分:17
注 册:2011-12-3
收藏
得分:3 
我昨天在“菜鸟写了一个输出三角形的程序,和各位分享一下”贴子里也写过

“传说中的爷,武功在好也怕菜刀!!!!!!!!!!!!”
2011-12-09 09:24
lin471306489
Rank: 4
等 级:业余侠客
帖 子:136
专家分:247
注 册:2011-8-16
收藏
得分:3 
如果可以直接用二维数组输出的话,那就不用想那么多。
如果不用的话,则可以:
void main()
{
   char i,j;
   char a[7][7]={0};   // 定义一个二维数组,存放*

  // 先输出上面的三角形,i = 3;
  for(i=0;i<4;i++)
  for(j=0;j<7;j++)
  {
   if(j>=3-i&&j<=3+i)
    a[i][j]='*';
  }

 // 把三行上的三角形反过来
 for(j=1;j<7;j++)
  for(i=1;i<4;i++)
   a[3+i][j]=a[3-i][j];  // 赋值

 for(i=0;i<7;i++)
  for(j=0;j<7;j++)
  {
   cout <<a[i][j];
   if(j==6)
   cout<<'\n';
  }
2011-12-09 10:08
hnuhsg1226
Rank: 9Rank: 9Rank: 9
来 自:中国
等 级:蜘蛛侠
威 望:2
帖 子:314
专家分:1314
注 册:2011-3-27
收藏
得分:3 
这道题,精华贴里有,御琴斑竹写的,建议看看

我的地盘
2011-12-09 10:18
wang155423
Rank: 6Rank: 6
等 级:侠之大者
帖 子:216
专家分:408
注 册:2011-9-4
收藏
得分:3 
要弄清楚,既有输出空格,又有输出*,关键找到行数与这二者之间的联系
2011-12-09 10:29
z364172655
Rank: 2
等 级:论坛游民
帖 子:22
专家分:38
注 册:2011-12-8
收藏
得分:3 
#include "stdio.h"
//#include "math.h"
#include "conio.h "
main()
{
loop:   int i,a,b,c,m,n,d;
    printf("请输入一个小于30的正奇数:\n");
    scanf("%d",&n);
    if(n>=30||n<=0||(n%2==0))
    {
                goto loop;
    }
    if(n<30&&n>0&&(n%2!=0))
    {

        for(i=1;i<=n/2+1;i++)
        {
            for(b=n/2-i;b>=0;b--) printf(" ");
            for(a=1;a<=2*i-1;a++) printf("*");
            printf("\n");
        }
        for(m=1;m<=n/2;m++)
        {
            for(c=1;c<=m;c++) printf(" ");
            for(d=n-2*m;d>=1;d--) printf("*");
            printf("\n");
        }
    }
    getch();
    return 0;
}
借用2楼的程序改了一下!莫怪,莫怪!
2011-12-09 17:56
luojie5683
Rank: 2
来 自:重庆
等 级:论坛游民
帖 子:69
专家分:49
注 册:2011-10-10
收藏
得分:3 
可以分成上下两部看,先写上面部分,再写下面部分。
2011-12-09 21:41
快速回复:想的头都大了,那位大大帮下小弟啊
数据加载中...
 
   



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

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