编写一个函数,其功能是输出数字金字塔,要求用递归方法来解决。
运行效果:用户输入5,则屏幕显示:
1
121
12321
1234321
123454321
刚学C语言 用尽量简单易懂的程序 谢谢
给点提示也行 该怎么用递归的方法啊
追问
原谅我的无知 但是主函数怎么写
追答#include <stdio.h>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);
}
编写一个函数,其功能是输出数字金字塔,要求用递归方法来解决。
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-1printf("%d",i );for(;i>=1;i-- )printf("%d",...
如何用JAVA 编写一个递归程序输出如下数字金字塔
这个不用递归吧,几个循环搞定了:for (int i=1; i<=4; i++){ for ( int k=1; k<=4-i; k++) System.out.print(" ");\/\/输出前导空格 for ( int j=1; j<=i, j++) System.out.print(""+j);\/\/输出升序数字 for ( int m=i-1; m>=1; m--) System.out.print...
pascal 的初级题
按顺时针方向自 1 开始顺序报数,报到指定值M时停止报数,报第M的人出列,并将他的密码作为新的M值,从他在顺时针方向的下一人开始,重新从 1 报数,如此类推,直至所有人全部出列为止.试编一程序求出列顺序,其中 N<=30,N及密码数从键盘输入.
大学福音经典编程题适用于专升本
21.数字金字塔 22.字符串左旋 23.[稍难不用看] 要求:写一个函数判断一个字符串是否是另一个字符串旋转后得到的 24.给数组删除重复的元素 25.C语言编程题求1! + 2! + 3! + 4!...+N 26.C语言编程题求斐波那契数(循环法与递归法 27.C语言编程输入n,k求n的k次幂(递归与非递归) 28.(递归)输入...
我的孩子今年小学五年级,要参加Turbo Pascal 7.0小学程序设计竞赛_百度...
2. 读入一个三位数字的正整数,将其反向输出.3. 输出三个数中的最大数.4. x,y,z的值分别为1,11,111,将它们靠左边对齐输出.5. x,y,z的值分别为1,11,111,将它们靠右边对齐打印输出.6. 对于输入的方程系数,求二元一次方程组的解.7. 输入两整数,求出它们的最大公约数和最小公倍数.8. 对于输入...
大学福音经典编程题适用于专升本
17.输入一个整数找出紧跟在他后面的素数 18.计数求和,Sn=2+22+222+2222+22222 19.输入两个数求最小公倍数和最大公因数,代码中有详解 20.一个数 +100之后是完全平方数,+168还是一个完全平方数 21.数字金字塔 22.字符串左旋 23.[稍难不用看] 要求:写一个函数判断一个字符串是否是另一个...