求助用c语言来编写杨辉三角行的递归程序

请编写杨辉三角行到10行的c语言递归程序注:我是刚学c语言的,才刚学到递归,请用简单的程序来编写这道题,我上网找到的很多都有用到“[]”这个符号的,我还没有学到,请尽量简... 请编写杨辉三角行到10行的c语言递归程序
注:我是刚学c语言的,才刚学到递归,请用简单的程序来编写这道题,我上网找到的很多都有用到“[ ]”这个符号的,我还没有学到,请尽量简单编写
展开
 我来答
听不清啊
高粉答主

推荐于2017-10-15 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

#include <stdio.h>

int c(int i,int j)

{if(j==0||j==i)return 1;

 else return c(i-1,j)+c(i-1,j-1);

}

int main() 

{

int n,i,j;

scanf("%d",&n);

for(i=0;i<=n;i++)

{

for(j=0;j<n-i;j++)

printf("   ");

for(j=0;j<=i;j++)

printf("%6d",c(i,j));

printf("\n");

}

getch();

return 0;

}

201007031324
2012-04-15 · TA获得超过1239个赞
知道小有建树答主
回答量:505
采纳率:0%
帮助的人:234万
展开全部
#include<stdio.h>
int jisuan(int i,int j)
{
if(j==0) return 1;
if(i==j) return 1;
else return (jisuan(i-1,j-1)+jisuan(i-1,j));
}
void f(int n)
{
int i,j;
if(n>0)
{
if(n>=3)
{
for(i=0;i<n;i++)
{for(j=0;j<=i;j++)
printf("%5d",jisuan(i,j));
printf("\n");
}
}
}
else
printf("你输入的不是一个大于0的正整数!\n");

}
void main()
{
int n;
printf("请输入一个大于0的正整数:");
scanf("%d",&n);
f(n);
}
//希望能够帮助到你!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
单色并不单
2012-04-18
知道答主
回答量:12
采纳率:0%
帮助的人:1.2万
展开全部
杨辉三角就是用双重for循环写出来的,那么简单的却要搞得复杂
#include<stdio.h>
#define M 10
void main()
{
int a[M][M], i , j ;
for(i=0;i<M;i++)
for(j=0;j<=i;j++)
{
if(i==j||j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
printf("%5d",a[i][j]);
if(i==j)printf("\n");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友641de0798
推荐于2017-09-22 · TA获得超过159个赞
知道小有建树答主
回答量:211
采纳率:0%
帮助的人:154万
展开全部
这是数组符号,因为这道题用数组比较容易,递归法有点难度,
我这有一方法你看看
#include<stdio.h>
void main()
{
int e(int x,int y);
int i,j,n;
printf("n=");
scanf("%d",&n);
for(i=0;i<=n;i++)
{ for(j=0;j<n-i;j++)
printf(" ");
for(j=1;j<i+2;j++)
printf("%6d",e(i,j));
printf("\n");
}
}
int e(int x,int y)
{
int z;
if((y==1)||(y==x+1))
return(1);
else
{z=e(x-1,y-1)+e(x-1,y);
return(z);}
}

不懂问我
追问
我想问一下这程序算递归么?
追答
这就是递归法啊 你仔细观察int e(int x,int y)
{
int z;
if((y==1)||(y==x+1))
return(1);
else
{z=e(x-1,y-1)+e(x-1,y);
return(z);}
}
这用到递归了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weliilam
2012-04-16 · TA获得超过327个赞
知道答主
回答量:136
采纳率:0%
帮助的人:70.4万
展开全部
如果你想学好递归调用 那么杨辉三角不是让你用来练题的 你倒不如去写下汉诺塔 这个题目是递归比较经典的一个例子 如果你了解了 对于其余的应该没什么问题 而且杨辉三角的结构选择递归式比较不明智的一种做法 做起来会相当的复杂 也可以说 根本就做不了
在项目 很少人会用递归的,递归只是对编程比较好,简化设计程序,但是增加了系统开销,也就是说,每递归一次,栈内存就多占用一截。

#include "stdio.h"
#include "conio.h"
main()
{
int i,j;
int a[10][10];
printf("\n");
for(i=0;i<10;i++)
{
a[i][0]=1;
a[i][i]=1;
}
for(i=2;i<10;i++)
for(j=1;j<i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
getch();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式