注册 登录
编程论坛 C++教室

请教一题,小弟新手

jinkaizi 发布于 2007-08-29 14:18, 616 次点击

打印出下面效果。输入3,打出:

3

323

32123

3210123

32123

323

3

9 回复
#2
intotherain82007-08-29 22:00
昨天坛子里好像有道差不多的题目,有个高手给解了,很厉害啊~~~!!实在不行,你去找找看嘛~~~!!
有哪个高手帮忙解解啊,小弟也是菜鸟很想看看
#3
valentineyzq2007-08-29 22:33
这个通过了测试。因为赶时间做得比较粗糙,勿怪
#include<iostream>
using namespace std;
void main()
{
int M;
int i,j;
cout<<"输入值:";
cin>>M;
cout<<endl;
for(i=M;i>=0;i--)
{
for(j=0;j<=M-i;j++)
cout<<M-j;
for(j=i+1;j<=M;j++)
cout<<j;
cout<<endl;
}
for(i=1;i<=M;i++)
{
for(j=0;j<=M-i;j++)
cout<<M-j;
for(j=i+1;j<=M;j++)
cout<<j;
cout<<endl;
}
}
#4
aipb20072007-08-29 23:32
[CODE]#include <iostream>
using namespace std;

#define N 3
int main(){
int n = 2*N+1;
for (int i = 0,k1 = 1;i < n;++i){
for (int j = 0,k2 = N;j < k1;++j){
cout << k2;
j >= k1/2 ? ++k2 : --k2;
}
cout << endl;
i >= n/2 ? k1-=2 : k1+=2;
}
return 0;
}[/CODE]
#5
guji_12342007-08-30 19:00
问下楼上思路是怎么的?
#6
圆圆的鸟蛋2007-08-30 19:32
4楼。。强!
#7
aipb2OO72007-08-30 20:31
以下是引用guji_1234在2007-8-30 19:00:28的发言:
问下楼上思路是怎么的?

行递增,列递增。加变量控制!

#8
mp3aaa2007-08-30 22:02

我也来一个 是我原来打印空心菱形时用的程序该过来的

#include"stdio.h"
#include"math.h"
main()
{
int i,j;
for(i=-3;i<=3;i++)
for(j=-3,puts("");j<=3;j++)
abs(i)+abs(j)<4?printf("%d",abs(i)+abs(j)):printf(" ");
}

[此贴子已经被作者于2007-8-30 22:03:14编辑过]

#9
zptk7202007-08-30 22:33
回复:(valentineyzq)这个通过了测试。因为赶时间做...
解释一下思路,有点看不明白
#10
從霝開匙2007-09-04 17:13

四楼的程序能懂!精辟!!就是思路我想怎么都想不到哪上面去 !!哎!!!

1