C语言输出下列图形

汉宝包 2009-12-22 06:21:27
4
3 7
2 6 9
1 5 8 10
...全文
761 43 打赏 收藏 转发到动态 举报
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
JoeBlackzqq 2009-12-25
  • 打赏
  • 举报
回复
Here is my C++ Code:

#include<iostream>

using namespace std;

//N: 代表有多少行元素
void Display(int N)
{
int i, j, v;
if(N <= 0)
{
cout<<"N must bigger than Zero(0)!"<<endl<<endl;
return;
}
for(i = 0; i < N; i++)
{
for(j = 0; j <= i; j++)
{
v = N * (j+1) - j * (j-1) / 2 - i;
cout<<v<<" ";
}
cout<<endl;
}
cout<<endl;
}

int main()
{
int X;
for(X = 0; X <= 15; X++)
Display(X);

return 0;
}
一只小老贺 2009-12-25
  • 打赏
  • 举报
回复
何必那么复杂呢
一楼的不错
苍蝇①号 2009-12-25
  • 打赏
  • 举报
回复
太牛了
haierpro 2009-12-25
  • 打赏
  • 举报
回复
不需要乘除法:

[code=C/C++]
int main()
{
int n = 5;
int i,j,k,m;

for (i = 0;i < n;i++)
{
k = n - i;
m = k;
for (j = n;m <= n;--j,++m)
{
printf("%d\t",k);
k += j;
}
printf("\n");
}
}

[code]
james_hw 2009-12-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 hanboycha2 的回复:]
4
3 7
2 6 9
1 5 8 10
[/Quote]

做成完整二叉树,然后中序遍历输出
liusichen_0 2009-12-25
  • 打赏
  • 举报
回复
去我空间看看吧,我多种数字排列形式
数字排列
wj198895 2009-12-25
  • 打赏
  • 举报
回复
#include<stdio.h>
void main()
{
int i,j,k=1,a[4][4];
for(i=0;i<4;i++)
for(j=3;j>=i;j--)
a[j][i]=k++;
for(i=0;i<4;i++)
{
for(j=0;j<=i;j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
lovesi3344 2009-12-24
  • 打赏
  • 举报
回复
一楼太搞笑了
skyler2008 2009-12-24
  • 打赏
  • 举报
回复
支持1L, 在满足需求的前提下, 越高效简洁越好!
flyyyri 2009-12-24
  • 打赏
  • 举报
回复
#include<stdio.h>

void fn(int r,int c,int n)
{
int sum=n-r+1;
int i=0;

while(i<c-1) //打印某一行
{
sum += n-i;
i++;
printf("%d\t",sum);
}
}


int main()
{
int n; //要打印的行数,值可以从键盘输入
scanf("%d",&n);
int row=1,col=1;

while(row<=n)
{
if(col==1)
printf("%d\t",n-row+1); //打印第一列元素

col=row;

if(col>1) //打印第一列后面的列
fn(row,col,n);

row++;
col=1;
printf("\n"); //打印换行符号
}

return 0;
}
建鼎呓语 2009-12-24
  • 打赏
  • 举报
回复

#include "stdio.h"

int main()
{
int i, j;

int n = 4;

for(i = 0; i < n; i++)
{
for(j = 0; j <= i; j++)
{
printf("%4d", (n - i) + ((n + 1) * n / 2 - (n - j + 1) * (n - j) / 2));
}
printf("\n");
}

return 0;
}

n=4:
4
3 7
2 6 9
1 5 8 10

n=5:
5
4 9
3 8 12
2 7 11 14
1 6 10 13 15
zgh1990 2009-12-24
  • 打赏
  • 举报
回复
1L的好!
jernymy 2009-12-24
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 nibiewuxuanze 的回复:]

#include"stdio.h"int main()
{int i, j;int n=4;for(i=0; i< n; i++)
{for(j=0; j<= i; j++)
{
printf("%4d", (n- i)+ ((n+1)* n/2- (n- j+1)* (n- j)/2));
}
?-

[/Quote]

顶这个,好经典啊
xuhaihua046 2009-12-24
  • 打赏
  • 举报
回复
一楼的强悍!佩服!
  • 打赏
  • 举报
回复
太简单了吧
yexiongMYBH 2009-12-24
  • 打赏
  • 举报
回复
人才。
forster 2009-12-24
  • 打赏
  • 举报
回复
void main()
{
printf("4\n3 7\n2 6 9\n1 5 8 10\n");
}
wangzebo89 2009-12-24
  • 打赏
  • 举报
回复
每个都行
wangzebo89 2009-12-24
  • 打赏
  • 举报
回复
3楼的好
vip__888 2009-12-23
  • 打赏
  • 举报
回复
1L果然是最简洁的代码
加载更多回复(23)

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧