| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 451 人关注过本帖
标题:有关菱形程序不懂
只看楼主 加入收藏
玉面狂龙
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:82
专家分:156
注 册:2012-2-23
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
有关菱形程序不懂
#include <stdio.h>
#define M 3  /*可以自定义菱形的大小*/
int main(int argc, char** argv)
{
int i,j,k;
for(i=0;i<=M;i++)/*上半部分的行数*/
{
    for(j=0;j<=M-1-i;j++)/*打印空格的个数,我是以0开始的*/
        printf(" ");
    for(k=0;k<=2*i;k++)/*,假如除去空格外都打印“*”,则以2*i+1打印"*"个数,这是每一行的特点*/
{
  if(k==0||k==2*i)/*然后只选择你要打印的“*”位置的个数*/
   printf("*");
  else
   printf(" ");/*之间的全为空格*/

}
        printf("\n");
}
for(i=0;i<=(M-1);i++)/*下半部分比上班部分少一行*/
{
    for(j=0;j<=i;j++)
        printf(" ");
    for(k=0;k<=2*(M-1)-2*i;k++)/*判断k时没有合并式子,仅供学习探究,这点判断很重要,留作你自己思考了*/
{
  if(k==0||k==2*(M-1)-2*i)/*同上分析*/
      printf("*");
  else
   printf(" ");
}
    printf("\n");
}
return 0;
}

}

只有行和列,为什么多一个循环的变量出来,不懂,求高手指点,而且这个函数运行不是我想要的菱形,需要怎么改才能打印出菱形出来啊.
搜索更多相关主题的帖子: 打印 include 上班 
2012-04-16 12:33
玉面狂龙
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:82
专家分:156
注 册:2012-2-23
收藏
得分:0 
没有人回答啊,高手啊,教教我吧,为什么多一个循环变量出来(这个程序是别人写的)
2012-04-17 23:30
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
如果你想知道什么东西有什么用,把它弄掉看看前后效果嘛,这也用人教?

授人以渔,不授人以鱼。
2012-04-17 23:35
share32
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:214
专家分:663
注 册:2011-12-1
收藏
得分:0 
这玩意能运行出你想要的菱形?
2012-04-17 23:37
share32
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:214
专家分:663
注 册:2011-12-1
收藏
得分:15 
#include <stdio.h>
#define M 9  /*可以自定义菱形的大小,必须为奇数。*/
main()
{
    int i,j,k;
    for(i=0;i<M;i++)
    {
        if(i>M/2)
            k=(M/2)*2-i;
        else k=i;
        for(j=M/2-k;j>0;j--)
            printf("  ");
        for(j=2*k+1;j>0;j--)
            printf("* ");
        printf("\n");
    }
    getche();
}
 
2012-04-18 00:10
快速回复:有关菱形程序不懂
数据加载中...
 
   



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

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