当前位置:首页 » 编程语言 » 杨辉三角c语言程序一维数组

杨辉三角c语言程序一维数组

发布时间: 2024-11-25 11:30:30

c语言:键入层数n(1~13),用13元素的一维数组,大致在屏幕中央打印出n层的金字塔形杨辉三角形,咋编

代码文本:

#include "stdio.h"

int main(int argc,char *argv[]){

int y[13],i,j,n;

printf("Please input layer... n=");

if(scanf("%d",&n)==1 && n>0 && n<14){

for(i=1;i<=n;i++){

for(y[j=i-1]=1;j>1;y[j-1]+=y[j-2],j--);

for(j=0;j++<40-i-i;putchar(' '));//排版

for(j=0;j<i;printf("%4d",y[j++]));

putchar(' ');

}

}

else

printf("Input error, exit... ");

return 0;

}

⑵ c语言程序杨辉三角

在C语言中,杨辉三角是一个经典的动态数组应用实例。如果你之前使用的是固定长度的栈区数组,现在需要转换成动态数组来实现。以下是相应的代码段:

以下是使用动态数组实现杨辉三角的C语言代码:

void main() {

int* a = malloc(sizeof(int) * 10); // 动态分配数组内存

a[0] = 1; // 初始化第一行

// 打印第一行
for (int i = 0; i < 10; i++) {

if (i == 0) { // 第一行只有一个1
printf("%4d", a[i]);

} else {

printf("%4d", a[i] + a[i - 1]); // 计算当前元素值

}

}

// 递归生成杨辉三角
for (int j = 2; j <= 10; j++) {

printf("\n"); // 换行进入新行

for (int i = j - 1; i >= 0; i--) {

if (i != 0) { // 非第一列元素计算
a[i] = a[i] + a[i - 1];

} else { // 第一列始终为1
a[i] = 1;

}

if (a[i] == 0) { // 输出空格
printf("%4c", ' ');

} else {

printf("%4d ", a[i]);

}

}

}

free(a); // 释放内存
system("pause"); // 停顿等待用户操作

}

这段代码展示了如何使用动态数组来生成和打印杨辉三角,通过递归计算每一行的元素值,并在每一行开始和结束时添加适当的空格。

⑶ C语言,输出杨辉三角

#include<stdio.h>
#define N 10 //定义常量N,表示输出N行杨辉三角的值
int main()
{
int i,j,a[N][N]={0};
printf("杨辉三角列表规律是每行的第一列和最后一列的值为1,其余的值是例如第n行第m列的值=第n-1行第m列+第n-1行第m-1列\n");
for(i=0;i<N;i++)
{
for(j=0;j<=i;j++)
{
if(j==0||i==j)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
printf("%d\t",a[i][j]);
}
printf("\n");//输出列表是一个直角三角形

}
return 0;
}

热点内容
电脑新服务器地址 发布:2024-11-25 13:24:02 浏览:918
视频压缩安卓 发布:2024-11-25 13:02:18 浏览:341
当贝上传应用 发布:2024-11-25 13:01:23 浏览:272
中国联通湖北服务器地址 发布:2024-11-25 13:00:38 浏览:747
访问内网计算机 发布:2024-11-25 12:37:53 浏览:969
苹果文件夹名字大全 发布:2024-11-25 12:28:03 浏览:590
ipad上b站缓存分屏 发布:2024-11-25 12:27:59 浏览:981
数据库日志文件查看 发布:2024-11-25 12:17:28 浏览:48
腾讯视频明明缓存了看不了 发布:2024-11-25 12:08:01 浏览:182
存储区域网络分布 发布:2024-11-25 12:07:12 浏览:389