C语言杨辉三角是什么
在初中,我们就知道,杨辉三角的两个腰边的数都是1,其它位置的数都是上顶上两个数之和。这就是我们用C语言写杨辉三角的'关键之一。在高中的时候我们又知道,杨辉三角的任意一行都是的二项式系数,n为行数减1。也就是说任何一个数等于这个是高中的组合数。n代表行数减1,不代表列数减1。如:第五行的第三个数就为=6。下面是小编为大家搜索整理的C语言杨辉三角是什么,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!
#include
#include
int main()
{
int i,j,k;
int line;
int *prev, *next;
printf("输入要查看杨辉三角的行数(大于2):");
scanf("%d",&line);
if(line < 2)
{
printf("行数小于2,Goodbye!n");
exit(1);
}
for(i=1; i<=line; i++) //前两行的打印
printf(" ");
printf("%6dn",1);
for(i=1; i<=line-1; i++)
printf(" ");
printf("%6d%6dn",1,1);
prev = malloc(2*sizeof(int));
prev[0] = 1;
prev[1] = 1;
for(i=3; i<=line; i++) //从第三行开始打印
{
next = malloc(i*sizeof(int));
next[0] = 1;
next[i-1] = 1;
for(j=line; j>=i; j--) //外部空格
{
printf(" ");
}
printf("%6d",1);
for(k=2; k
{
next[k-1] = prev[k-2] + prev[k-1];
printf("%6d",next[k-1]);
}
}
printf("%6dn",1);
free(prev);
prev = next;
}
free(next);
return 0;
}
-
C语言程序基础练习题带答案
C语言传递参数均是以值传递(passbyvalue),另外也可以传递指针(apointerpassedbyvalue)。下面是小编为大家搜索整理的C语言专项训练题,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!单选题1).下列关于标识符的说法中错误的是A.合法的标识符...
-
C与C++之间相互调用的实例方法
如果使用C语言编写的DLL,希望从中导出函数给C或C++的模块访问,则应使用__cplusplus预处理器宏确定正在编译的语言。如果是从C++语言模块使用,则用C链接声明这些函数。如果使用此技术并为DLL提供头文件,则这些函数可以原封不动地由C和C++模块使用。下面是小编为大家...
-
C/C++变量在内存中的分布介绍
变量在内存地址的分布为:堆-栈-代码区-全局静态-常量数据。同一区域的各变量按声明的顺序在内存的中依次由低到高分配空间(只有未赋值的全局变量是个例外)。本文是本站小编搜索整理的关于C/C++变量在内存中的分布介绍,感兴趣的朋友一起学习吧!!想了解更多相关信息...
-
C语言编程中的联合体union入门学习教程详解
联合体(union)在C语言中是一个特殊的数据类型,能够存储不同类型的数据在同一个内存位置。可以定义一个联合体使用许多成员,但只有一个部件可以包含在任何时候给定的值。联合体会提供使用相同的存储器位置供多用途的有效方式。定义联合体要定义联合体,必须使用unio...