| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 502 人关注过本帖
标题:一道有趣的题目
只看楼主 加入收藏
hyxw5890
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-3-19
收藏
 问题点数:0 回复次数:5 
一道有趣的题目

输入比如n=6,打印出如下图形:
1
22 22
333 333
4444 4444
55555 55555
666666 666666
55555 55555
4444 4444
333 333
22 22
1
这是我的代码,感觉有点傻啊,大家有没有更好的办法。
#include <iostream.h>
#include <stdio.h>
void main()
{int i,j,n;
cin>>n;
for(i=1;i<=n;i++)
{for(j=1;j<=2*(n-i);j++)
cout<<' ';
for(j=1;j<=i;j++)
cout<<i;
for(j=1;j<=2*(i-1)-1;j++)
cout<<' ';
if(i>1)
for(j=1;j<=i;j++)
cout<<i;
cout<<endl;
}
for(i=n-1;i>=1;i--)
{for(j=1;j<=2*(n-i);j++)
cout<<' ';
for(j=1;j<=i;j++)
cout<<i;
for(j=1;j<2*(i-1);j++)
cout<<' ';
if(i>1)
for(j=1;j<=i;j++)
cout<<i;
cout<<endl;
}
}

搜索更多相关主题的帖子: 图形 include 
2007-04-03 21:59
v1v1wang
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2007-3-25
收藏
得分:0 
对I可以用
if ..else
来控制6以下的
55555 55555
4444 4444
333 333
22 22
1
因而你不比重复
{for(j=1;j<=2*(n-i);j++)
cout<<' ';
for(j=1;j<=i;j++)
cout<<i;
for(j=1;j<=2*(i-1)-1;j++)
cout<<' ';
if(i>1)
for(j=1;j<=i;j++)
cout<<i;
cout<<endl;
}
这只是我个人的理解...

2007-04-04 13:20
天使有泪
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-4-3
收藏
得分:0 
结果很有趣啊
2007-04-04 20:08
applegrape02
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-3-21
收藏
得分:0 

#include<stdio.h>
#include<math.h>
void main()
{
int i,j,k,m,t;


for(t=-5;t<=5;t++)
{
i=abs(t);

for(j=1;j<=2*i;j++)
printf(" ");

for(k=1;k<=6-i;k++)
printf("%d",6-i);

for(m=1;m<=(9-2*i);m++)
printf(" ");
if((6-i)!=1)
{
for(k=1;k<=6-i;k++)
printf("%d",6-i);
}
printf("\n");
}


}

2007-04-05 09:39
v1v1wang
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2007-3-25
收藏
得分:0 
#include "iostream.h"
#include"stdio.h"
void main()
{int i,n,a=1,d=1;
cout<<"请输入一个数字:";
cin>>n;
for(i=1;i<=n;i++)
{
for(i=1;i<=(n-a)*(n+a+1)/2;i++)
cout<<" ";
for(i=1;i<=a;i++)
cout<<a;
for(i=1;i<=a*(a-1);i++)
cout<<" ";
for(i=1;i<=a;i++)
cout<<a;
cout<<endl;
if(d<n)
{++a;++d;}
else
{a--;++d;}
}
}
看下我的。。。。

2007-04-14 23:46
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 

那我也来发一个:



#include <stdio.h>
#include <math.h>

#define N 6
#define M (N - 1)

int main()
{
int i, j;

for (i = -M; i <= M; i++)
{
for (j = -2*M; j <= 2*M; j++)
{
if (abs(i) + abs(j) >= M && abs(i)*2 +abs(j) <= 2*M)
printf("%d", N - abs(i));
else
printf(" ");
}
printf("\n");
}

return 0;
}


2007-04-15 10:43
快速回复:一道有趣的题目
数据加载中...
 
   



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

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