博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言打印杨辉三角(C笔记)
阅读量:3966 次
发布时间:2019-05-24

本文共 1869 字,大约阅读时间需要 6 分钟。

C语言打印杨辉三角

杨辉三角:每行的开端和结尾都是1,其余位置的每个数都等于它上方两数之和。每行数字左右对称,由1开始逐渐变大。

程序实现1

#include 
#include
#define N 31int main(){
int i,j,k,n=0; int a[N][N]; //定义二维数组a[N][N] while (n<=0 || n>=30) //控制打印的行数不要太大,过大会造成显示不规范 {
printf("请输入要打印的行数(范围1-29行):"); scanf("%d",&n); } printf("%d行杨辉三角如下:\n",n); for (i = 1; i <= n; i++) {
a[i][1] = a[i][i] = 1; //两边的数令它为1,因为现在循环从1开始,就认为a[i][1]为第一个数 } for (i = 3; i <= n; i++) {
for (j = 2; j <= i-1; j++) {
a[i][j] = a[i-1][j-1] + a[i-1][j]; //除两边的数外都等于上两顶数之和 } } for (i = 1; i <= n; i++) {
for (k = 1; k <= n-i; k++) {
printf(" "); //这一行主要是在输出数之前打上空格占位,让输出的数更美观 } for (j = 1; j <= i; j++) //j<=i的原因是不输出其它的数,只输出我们想要的数 {
//%6d为指定的输出字段宽度为6,若数据本身长度大于6,则数字全部输出,若数据本身长度小于6,则右补空格 printf("%6d",a[i][j]); } printf("\n"); //当一行输出完以后换行继续下一行的输出 } printf("\n"); system("pause");}

程序实现2

#include 
#include
/*定义阶乘*/float J(int i){
int j; float k=1; for (j = 1; j <= i; j++) {
k=k*j; } return k;}/*定义组合数*/float C(int i,int j){
float k; k = J(j)/(J(i) * J(j-i)); return k;}int main(){
int i=0,j,k,n; //打印杨辉三角 while (i<=0 || i>16) {
printf("请输入要打印的行数(范围1-16):"); scanf("%d",&i); } printf("%d行杨辉三角如下:\n",i); for (j = 0; j < i; j++) {
for (k = 1; k <= (i-j); k++) {
printf(" "); } for (n = 0; n <= j; n++) {
//%4.0f表示整数部分宽度为4,当整数部分宽度大于等于4时,按实际输出;当小于4时向右补空格。小数点部分四舍五入不输出 printf("%4.0f",C(n,j)); } printf("\n"); } printf("\n"); system("pause");}

转载地址:http://ricki.baihongyu.com/

你可能感兴趣的文章
NET - NET Core quartz.net 时间表达式----- Cron表达式详解
查看>>
NET - .NET Core 之 Abp Audit-Logging
查看>>
NET - .NET Core 之 Abp 整合 Quartz
查看>>
Spring - Nacos 配置实时更新原理分析
查看>>
依赖注入
查看>>
android 各式各样progress 进度条大全
查看>>
开发Google眼镜的app
查看>>
Android base-adapter-helper 源码分析与扩展
查看>>
Android 4.4从图库选择图片,获取图片路径并裁剪
查看>>
Android Fragment 你应该知道的一切
查看>>
使用AudioManager调节播放器音量的开发实例
查看>>
安卓开发者必备的42个链接
查看>>
Eclipse下Ant自动打包,混淆和签名
查看>>
linux环境下编译不成功
查看>>
Android WebView Long Press长按保存图片到手机
查看>>
BaseAnimation是基于开源的APP,致力于收集各种动画效果(最新版本1.3)
查看>>
TextView显示html图片点击图片放大等操作
查看>>
【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
查看>>
Android Fragment getActivity返回null解决
查看>>
Android(视频、图片)加载和缓存类库Glide
查看>>