Q打印6阶杨辉三角
一:打印对称的杨辉三角
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> #include <math.h> int c( int x, int y){ //递归函数 int z; if (y==1||y==x) return 1; z=c(x-1,y-1)+c(x-1,y); return z; } int main( int argc, const char * argv[]) { int n; scanf ( "%d" ,&n); //输入行数 for ( int i=1; i<=n; i++) { for ( int j=1; j<2*n-2*i+1; j++) printf ( " " ); //打印空格 for ( int j=1; j<=i; j++) printf ( "%4d" ,c(i,j)); //输出数字时保留间隙 printf ( "\n" ); } return 0; } |
二:一般形式的杨辉三角
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <stdio.h> main() { int i,j,n=0,a[17][17]={0}; while (n<1 || n>16) { printf ( "请输入杨辉三角形的行数:" ); scanf ( "%d" ,&n); } for (i=0;i<n;i++) a[i][0]=1; for (i=1;i<n;i++) for (j=1;j<=i;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for (i=0;i<n;i++) { for (j=0;j<=i;j++) printf ( "%5d" ,a[i][j]); printf ( "\n" ); } } |
上述两种都是C的形式,下面给出C++的形式:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <iostream> using namespace std; const int N = 40; int main() { int a[N][N]; int n; cin >> n; for ( int i = 0; i < n; i++) { a[i][0] = a[i][i] = 1; for ( int j = 1; j < i; j++) { //注意此处的j不能等于i,不然最后结果有错 a[i][j] = a[i - 1][j - 1] + a[i - 1][j]; } } for ( int i = 0; i < n; i++) { for ( int j = 0; j <= i; j++) { cout << a[i][j] << " " ; } cout << endl; } return 0; } |
拥抱明天!
不给自己做枷锁去限制自己。
别让时代的悲哀,成为你人生的悲哀。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· C# 13 中的新增功能实操
· Supergateway:MCP服务器的远程调试与集成工具
· Vue3封装支持Base64导出的电子签名组件