| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1643 人关注过本帖
标题:[求助]如何打印数字菱形
只看楼主 加入收藏
风之舞鹤
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2007-6-2
收藏
得分:0 

下半菱形可以完整打印.上面的还没找到方法
#include<stdio.h>
#include"math.h"
main()
{ int i,j,n,x;
printf("please input n:");
scanf("%d",&n);
for(i=1;i<=2*n-1;i++)
{
for(j=1;j<=fabs(i-n);j++)
printf(" ");
for(j=1;j<=2*n-1-2*fabs(i-n);j++)
{ x=fabs(i+j-2*n)+i+1-n;
printf("%d",x);
}
printf("\n");
}
}

大家帮忙找下公式


2007-06-16 23:42
风之舞鹤
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2007-6-2
收藏
得分:0 
因为上下是对称的.所以想用栈把下面的存起来再出栈.应该可以实现但还是没找到正确方法.大家可以想想看.

2007-06-16 23:45
神雕大侠
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-5-18
收藏
得分:0 
请教一下 fabs(i-n);这个语句是什么意思,我只知道abs这个函数是求绝对值的。
2007-06-19 12:15
神雕大侠
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-5-18
收藏
得分:0 
回复:(我是菜鸟哦)那个是双嵌套的?:语句,说白了就是...
不好意思啊,这几天我仔细看了一下,还是不明白 printf("%c",(j&lt;n-i||j&gt;n+i)?' ':(j&lt;n+1?--a:++a));这个语句是啥意思,能给我详细的写一下吗?谢谢啦!
2007-06-19 12:25
zkkpkk
Rank: 2
等 级:论坛游民
威 望:5
帖 子:489
专家分:28
注 册:2006-6-17
收藏
得分:0 
以下是引用神雕大侠在2007-6-16 0:39:47的发言:
请问上面的高手一下,printf("%c",(j<n-i||j>n+i)?' ':(j<n+1?--a:++a));这个语句是什么意思啊,我怎么看都看不明白。

他欺负你不懂三目运算符而已


Viva,espana!
2007-06-19 13:31
ibiancheng
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2007-4-3
收藏
得分:0 

printf("%c",(j<n-i||j>n+i)?' ':(j<n+1?--a:++a));
这句还真的挺复杂的唉


执著的信念,坚定的自信,勤奋的努力才是通向成功的捷径! !!
2007-06-19 20:33
zkkpkk
Rank: 2
等 级:论坛游民
威 望:5
帖 子:489
专家分:28
注 册:2006-6-17
收藏
得分:0 
以下是引用ibiancheng在2007-6-19 20:33:04的发言:

printf("%c",(j<n-i||j>n+i)?' ':(j<n+1?--a:++a));
这句还真的挺复杂的唉


if(j<n-i||j>n+i) printf(\" \");
else {
if(j<n+1) --a;
else ++a;
}

Viva,espana!
2007-06-20 11:56
chinarodney
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-5-3
收藏
得分:0 

#include <stdio.h>
main()
{
int i,j;
for (i=-3;i<=3;i++)
{
for(j=-(3-abs(i));j<=3-abs(i);j++)
{
printf("%d",abs(i)+abs(j)+1);
}
}
}

2007-06-20 13:13
快速回复:[求助]如何打印数字菱形
数据加载中...
 
   



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

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