| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 559 人关注过本帖
标题:关于*号图的一些见解
只看楼主 加入收藏
megoo74
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-7-23
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
关于*号图的一些见解
   
程序代码:
#include <stdio.h>
#include <MATH.H>
int main ()
{
    int i = 0;
    int j = 0;
    int k = 0;
    for(i=1;i <= 7;i++) //打印行数
    {
        for( j = 1;j <= abs(4-i); j++) //打印空格
            printf(" ");
        
            if (i<=4)//打印*号,,忘了怎么合并的,就这样了
            {   
                for(k=1 ; k <= 2*i - 1; k++)
                printf("*");
                printf("\n");
            }
            else
            {   
                for (k=1 ; k <= 15 - 2*i; k++)
                printf("*");
                printf("\n");
            }
                        
    } 

    return 0;
}
   *
  ***
 *****
*******
 *****
  ***
   *
看到有网友问这个问题,我写了一个,但是..
我记的以前写过,把if内的东西写在一个for语句里,,但是今天怎么都想不起来了,,这的忘了,,也不知道哪里纠结了
请网友提出,,给以改良,,


[ 本帖最后由 megoo74 于 2012-7-31 20:36 编辑 ]
2012-07-31 20:33
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:1 
我记得我06年写过这个程序。。。
2012-07-31 20:39
编程小学徒
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2012-7-31
收藏
得分:2 
可以定义最简单的数组嘛!也可以用printf 直接打印嘛!!
2012-07-31 22:40
a745043791
Rank: 4
等 级:业余侠客
帖 子:95
专家分:260
注 册:2012-2-12
收藏
得分:5 
我记得几个月前写过这个,特地找出来了
#include <stdio.h>
int main ()
{
int g,a,b,c,d,i;
c = 39; //把菱形移到中间
d = 1;
while (true)
{
printf ("请输入菱形的高\n");
scanf ("%d", &g);
    if ( g < 4)
printf ("高大于3\n");
else if ( g % 2 == 0)
printf ("高不能为偶数。\n");
else
{
for (i = 0; i < g/2;i++)//打印上半部分和中间一行
{
for (a = 0; a < c;a++)
printf (" ");
for (b = 0 ; b < d;b++)
printf ("*");
c--;
d +=2;
printf ("\n");
}
c++;
d-=2;
    for (i = 0; i < g/2-1; i++)//打印下半部分
{
c++;
d -= 2;
for (a = 0; a < c; a++)
printf (" ");
for (b = 0; b < d; b++)
printf ("*");
printf ("\n");
}
}
}
return 0;
}程序,贴出来以供参考
2012-08-01 08:48
icefiregxf
Rank: 2
等 级:论坛游民
帖 子:9
专家分:13
注 册:2012-7-26
收藏
得分:12 
程序代码:
#include "stdafx.h"
#include "math.h"
int main()
{
    for(int i=-3;i<=3;i++) //一共7行;
    {
        for(int j=1;j<=2*abs(i);j++)
            printf(" ");
        for(int k=1;k<=2*(3-abs(i))+1;k++)
            printf("* ");
        printf("\n");
    }

    return 0;
}
2012-08-01 08:53
yuma
Rank: 12Rank: 12Rank: 12
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1934
专家分:3012
注 册:2009-12-22
收藏
得分:0 
以下是引用zklhp在2012-7-31 20:39:32的发言:

我记得我06年写过这个程序。。。
你06年就会写C程序了啊,历害,我07年才会用VBS写第一个wscript.echo "hello world!"

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2012-08-01 09:34
megoo74
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-7-23
收藏
得分:0 
回复 5楼 icefiregxf
虽然和以前我写的不一样,但是,意思就是这样的,,谢了..
2012-08-01 10:25
icefiregxf
Rank: 2
等 级:论坛游民
帖 子:9
专家分:13
注 册:2012-7-26
收藏
得分:0 
回复 7楼 megoo74
我刚刚学到这里!!!
2012-08-01 11:28
daidaiheng
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2012-3-1
收藏
得分:0 
回复 5楼 icefiregxf
for(int k=1;k<=2*(3-abs(i))+1;k++)     
            printf("* ");    请问为什么*后面要加个空格字符,我试了一下,不加的话是三角形,能解释一下吗
2012-08-02 15:45
进门者
Rank: 2
等 级:论坛游民
帖 子:15
专家分:14
注 册:2012-7-31
收藏
得分:0 
程序代码:
#include <iostream.h>
int main()
{
    int i,j,k;
    for(i=0;i<4;i++)
    {
        for(j=0;j<4-i;j++)
        {
            cout<<" ";
        }
        for(k=0;k<2*i+1;k++)
        {
            cout<<"*";
        }
        cout<<endl;
    }
    return 0;
}

上半部分的图形的输出
2012-08-02 21:37
快速回复:关于*号图的一些见解
数据加载中...
 
   



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

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