编写一个函数,其功能是输出数字金字塔,要求用递归方法来解决。
编写一个函数,其功能是输出数字金字塔,要求用递归方法来解决。运行效果:用户输入5,则屏幕显示:1121123211234321123454321刚学C语言用尽量简单易懂的...
编写一个函数,其功能是输出数字金字塔,要求用递归方法来解决。
运行效果:用户输入5,则屏幕显示:
1
121
12321
1234321
123454321
刚学C语言 用尽量简单易懂的程序 谢谢
给点提示也行 该怎么用递归的方法啊 展开
运行效果:用户输入5,则屏幕显示:
1
121
12321
1234321
123454321
刚学C语言 用尽量简单易懂的程序 谢谢
给点提示也行 该怎么用递归的方法啊 展开
6个回答
展开全部
#include <stdio.h>
int N;
void py( int n )
{
if ( n > 0)
{
int i;
py( n-1 ); //先输出前边的数
for(i=0;i<N-n;i++ ) //输出前导空格,这里N是全局变量,表示最大的数
printf(" ");
for(i=1;i<n;i++ ) //1到n-1
printf("%d",i );
for(;i>=1;i-- )
printf("%d",i ); //n到1
printf("\n"); //换行
}
}
int main()
{
printf("input N :");
scanf("%d", &N );
py( N );
return 0;
}
展开全部
#include<stdio.h>
void print(int i,int n)
{
if(i==n){printf("%d",i); return ;}
printf("%d",i);
print(i+1,n);
printf("%d",i);
}
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++) printf(" ");
print(1,i);
printf("\n");
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
追问
原谅我的无知 但是主函数怎么写
追答
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d",&n);
display(n,n);
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int max = 1;
void showTri(int h)
{
int i = 0;
int leftPadding = max - h;
//递归显示上面的小三角形
if(h>1)
{
showTri(h-1);
}
//显示最后一行
for(i = 0;i<leftPadding;i++)
{
printf(" ");
}
for(i = 1;i<h;i++)
{
printf("%d",i);
}
for(i = h;i>0;i--)
{
printf("%d",i);
}
printf("\r\n");
}
int main(void)
{
scanf("%d",&max);
showTri(max);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void print(n) {
if (n < 1) return;
print (n-1);
//打印第n行数字
for ( int i = 1; i <= n; i++) printf("%d", i);
for (int i = n-1; i >= 1; i ++) printf("%d", i);
printf ("\n");
}
if (n < 1) return;
print (n-1);
//打印第n行数字
for ( int i = 1; i <= n; i++) printf("%d", i);
for (int i = n-1; i >= 1; i ++) printf("%d", i);
printf ("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询