用C语言输出杨辉三角?
以下是使用C语言输出杨辉三角的示例代码:
c
#include <stdio.h>
int main() {
int n, i, j;
printf(“请输入要输出的行数:”);
scanf(“%d”, &n);
// 输出杨辉三角
for (i = 0; i < n; i++) {
// 输出空格
for (j = 0; j < n – i – 1; j++) {
printf(” “);
}
// 输出杨辉三角的每一行
for (j = 0; j <= i; j++) {
if (j == 0 i == 0) {
printf(“%d”, 1);
} else {
printf(“%d”, (int)((double)a[i-1][j-1] * (double)(i-j+1) / (double)j));
}
if (j < i) {
printf(” “);
}
}
printf(“n”);
}
return 0;
}
在上面的代码中,我们首先使用scanf函数从用户那里获取要输出的行数n。
然后,我们使用两个嵌套的for循环来输出杨辉三角。
外部for循环用于控制输出的行数,内部第一个for循环用于输出每一行前面的空格,以确保杨辉三角的形状正确。内部第二个for循环用于输出每一行的元素。
在输出元素时,我们使用了杨辉三角的递推公式,即a[i][j] = a[i-1][j-1] * (i-j+1) / j。如果j或i为0,则元素为。我们还使用了一个if语句来输出元素之间的空格,以确保每一行的元素之间有正确的间距。
最后,我们在每一行的末尾输出一个换行符,以确保下一行输出在新的一行上。
上述代码中没有声明数组a,而是在计算元素时直接使用了递推公式。如果需要重复使用杨辉三角,可以将数组a声明为全局变量或传递给函数,以避免重复计算。
用C语言写的显示杨辉三角形的程序,源代码在这里,哪里错了?
- #includestdio.hint jiecheng(int);void przhs(int);int main(){int h,j;printf("Pls Input a number: ");scanf("%d",&h);for(j=1;j=h;j++){Przhs(j);printf("n");}return 0;}int jiecheng(int a){if(a==1)return 1;else{a=a*jiecheng(a-1);return a;}}void przhs(int a){int i;for(i=1;i=a;i++)printf("%d ",jiecheng(a)(jiecheng(i)*jiecheng(a-i)));}
- #includestdio.hint jiecheng(int);void przhs(int);int main(){int h,j;printf("Pls Input a number: ");scanf("%d",&h);printf("1n"); for(j=1;j=h;j++){printf("1 ");przhs(j);printf("1n"); }return 0;}int jiecheng(int a){if(a==1)return 1;else{a=a*jiecheng(a-1);return a;}}void przhs(int a){int i;for(i=1;ia;i++) printf("%d ",jiecheng(a)(jiecheng(i)*jiecheng(a-i)));}
C语言数组程序设计,打印出10行杨辉三角 验证正确一定采纳
- #include "stdio.h"main(){int a[11][20],i,j;初始化for(i=0;i11;i++)for(j=0;j20;j++)a[i][j]=0;给数组附值for(i=0;i10;i++){for(j=0;j=i;j++){if(j1)a[i][j]=1;开头的第一个数为1else if(i==0)break;elsea[i][j]=a[i-1][j-1]+a[i-1][j];杨辉三角的规律}}输出for(i=0;i10;i++){for(j=0;j&肠哗斑狙职缴办斜暴铆lt;=i;j++)printf("%d ",a[i][j]);printf("n");}}
c语言初级问题 关于杨辉三角的
- #include stdio.hvoid main(){int a[10][10],n,i,j;scanf("%d",&n);for(i=0;in;i++){a[i][0]=1;a[i][i]=1;}for(i=2;in;i++)for(j=1;j=i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=0;in;i++){for(j=0;jn;j++)printf(" %d",a[i][j]);printf("n");}}请问这样哪里错了,总出不了正确答案问题补充: 就是输入n的值 输出n行杨辉三角
- #includestdio.h #defineM10 intmain(void){inta[M][M],i,j;for(i=0;iM;i++){for(j=0;j=i;j++){if(i==j||j==0)a[i][j]=1;elsea[i][j]=a[i-1][j]+a[i-1][j-1];printf("%d",a[i][j]);}printf("n");}printf("n");}
c语言 杨辉三角形(帮我看看哪里出错了!)
- 你 没有 给 demo[i][i] 赋值就输出了。。。然后蝴蝶效应后面被波及的跟着乱套了。。
用C语言编这个杨辉三角 要有注释 谢谢了
- #includestdio.hint main( ) {int n,i,j,a[10][10]={1};scanf("%d",&n); for(i=0;i=n;i++) 共有n+1行{ a[i][0]=1; 每行首元素为1for(j=1;j=i;j++) 其余元素值,等于左上+右上二数之和a[i][j]=a[i-1][j-1]+a[i-1][j];}for(i=0;i=n;i++) 打印n+1行{for(j=0;jn-i;j++) 打印行前的空格printf(" ");for(j=0;j<袱怠递干郛妨店施锭渐;=i;j++) 每行上有i+1个值printf("%4d",a[i][j]);printf("n"); 一行结束,换行}return 0;}
C语言编程打印杨辉三角前六行
- 最好简单一些,考试要用,太长了怕背不下来
- #includestdio.h int main(){ int a[10][10],i,j; for(i=0;i10;i++) { for(j=10;j=i;j–) printf("%2c", );*两个空格* for(j=0;j=i;j++) { if(i==j||j==0) a[i][j]=1; else a[i][j]=a[i-1][j]+a[i-1][j-1]; printf("%3d ",a[i][j]); *%3d后一个空格* if(i==j) printf("n"); } } return 0;}把所有10改成6
C语言 杨辉三角 程序在下面,求改错
- #includestdio.hint main(void){ int i,j; int a[10][10]; for(i=0;i10;i++){ a[i][0]=1; a[i][i]=1;}for(i=2;i10;i++) { for(j=1;ji;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; }for(i=0;i0;i++){for(j=0;j=i;j++)printf("%d",a[i][j]); printf("n");}return 0;}
- #includestdio.hint main(void){ int i,j; int a[10][10]; for(i=0;i10;i++){ a[i][0]=1; a[i][i]=1; } for(i=2;i10;i++) { for(j=1;ji;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; } for(i=0;i10;i++) { for(j=0;j=i;j++) printf("%d",a[i][j]); printf("n"); }return 0;}你的输出条件那里错了,还有就是赋值的地方有点小问题。
c语言杨辉三角
- #includestdio.h杨辉三角void main(){ int i,j; int a[10][10]; for(i=0;i10;i++) { for(j=0;j10;j++) { a[i][0]=1; a[i][i]=1; a[i][j]=a[i-1][j]+a[i-1][j-1]; } } for(i=0;i10;i++) { for(j=0;j=i;j++) { printf("%5d",a[i][j]); }printf("n"); } }为什么最后那个1变成乱码
- 你没有对最后一个元素赋值,你在第二个for循环前面加一句:a[i-1][j-1] = 1就ok了
C语言的杨辉三角看不懂,求解
- 自学的C 到了数组这里已经发现看不懂了 不知道每一行是什么意思了还有FOR循环这几天看二维数组也把FOR循环给弄糊涂了这么多的FOR我都不知道是什么意思每个FOR循环的是什么啊 我现在脑子乱死了我现在学C就是把题死记硬背下来 好烦恼啊 脑子总是想不过来#includestdio.h杨辉三角#define N 10void main(){int a[N][N],i,j;for(i=0;iN;i++){a[i][i]=1;a[i][0]=1;}for(i=2;iN;i++)for(j=1;j=i-1;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=0;iN;i++){for(j=0;j=i;j++)printf("%6d",a[i][j]);printf("n");}}
- 你看看听的懂不
C语言中编程打印输入杨辉三角形
- 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1
- #include stdio.h#include conio.h#define ARR_LEN 255 /* 数组长度 */int main (void) { int lines, yht[ARR_LEN][ARR_LEN] = {0}; int i, j; lines = 6; /* 杨辉三角形行数 */ /* 每行最左侧与最右侧值为1 */ for (i=0; ilines; i++) { yht[i][0] = 1; yht[i][i] = 1; /* 第n行的数字个数为n个 */ } /* 除每行最左侧与最右侧以外,第n行第k个数字等于第n-1行的第k-1个数字与第k个数字之和 */ for (i=1; ilines; i++) /* 从第2行起 */ for (j=1; ji; j++) yht[i][j] = yht[i-1][j-1] + yht[i-1][j]; for (i=0; ilines; i++) { for (j=0; ji+1; j++) { printf ("%d ", yht[i][j]); } putchar (n); } getch (); /* 屏幕暂留 */ return 0;}如有问题,点击头像联系我