C语言程序设计习题5
c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析1. 习题一:编写一个C程序,输出“Hello World!”。
解析:这是一个非常简单的C程序,只需要使用printf函数输出所需的字符串即可。
```c#include <stdio.h>int main() {printf("Hello World!");return 0;}```2. 习题二:编写一个C程序,计算两个整数的和并输出结果。
解析:这个程序需要使用scanf函数从用户输入中读取两个整数,并使用printf函数输出它们的和。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d", sum);return 0;}```3. 习题三:编写一个C程序,判断一个数是奇数还是偶数并输出结果。
解析:这个程序需要使用scanf函数读取用户输入的整数,并使用if-else语句判断该数的奇偶性,然后使用printf函数输出结果。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("该数是偶数");} else {printf("该数是奇数");}return 0;}```4. 习题四:编写一个C程序,判断一个年份是否为闰年并输出结果。
C语言 程序设计基础试题五及答案

《程序设计基础》考试试卷五班级姓名学号____________1.以下叙述中正确的是( )A. C程序中注释部分可以出现在程序中任意合适的地方B. 花括号"{"和"}"只能作为函数体的定界符C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名D. 分号是C语句之间的分隔符,不是语句的一部分2.在一个C语言程序中( )A. main函数必须出现在所有函数之前B. main函数可以在任何地方出现C. main函数必须出现在所有函数之后D. main函数必须出现在固定位置3.判断下面标识符中哪个是C语言中合法的用户定义标识符( )A. a-bB. #abdC. typedefD. _max4.为表示关系X≥Y≥Z,应使用C语言表达式( )A. (X≥Y)&&(Y≥Z)B. X>=Y>=ZC. (X>=Y)‖(Y>=Z)D. (X>=Y)&&(Y>=Z)5.设有一分段函数:x=1 a<b且c=dx=2 a>=b则下列程序段哪个是正确的( )A. if(a<b)B. if (a<b)C. if (a>b)D. if (a>=b)if(c= =d) {if (c= =d) if (c= =d) x=2;x=1; x=1; x=1; elseelse x=2; else x=2;} else x=2; {if(c= =d) x=1;}6.若有两条语句:static char x[]=”abcde”;static char y[]={…a‟,‟b‟,‟c‟,‟d‟,‟e‟};则下列说法中正确的是( )A. x数组和y数组长度相同B.x数组长度大于y数组长度C.x数组长度小于y数组长度D.以上三种说法均错误。
7.返回值为void的函数,其含义是( )A.调用函数之后,被调用的函数没有返回值;B.调用函数之后,被调用的函数不返回C.调用函数之后,被调用的函数返回值为任意类型D.以上三种说法均不正确。
C语言程序设计习题5

习题5参考解答1.数组是相同数据类型的集合,分为一维数组、二维数组及多维数组。
在什么情况下使用数组?在什么情况下使用一维数组?解:当需要处理的数据为相同类型的数据的集合时,可以使用数组。
如果这些数据的描述用一个量就可以,这时就用一维数组。
例如,一组学生的学号,就可以使用一维数组。
2.数组元素又称为下标变量,数组元素的下标有何意义?解:下标的意义是对数组的各个数组元素进行标识和区分。
由数组名和下标结合起来形成数组元素的名字。
3.使用字符数组来存储字符串应注意什么问题?解:需要注意的问题是字符数组在存储字符串时是以'\0'作为结束标记的。
这个'\0'是系统自动加上的。
所以字符数组的长度需要比它要存储的字符串的长度至少多1。
例如,要存储字符串"abcd",因为它的长度为4,所以存储它的字符数组的长度至少为5。
4.常用的字符处理函数有哪些?解:常用的字符处理函数有以下8个。
(1)puts(字符串):作用为将一个字符串输出到终端。
(2)gets(字符数组):作用为从终端输入一个字符串到字符数组,并且得一个函数值。
(3)strcat(字符串1,字符串2):作用为进行字符串的连接。
(4)strcpy(字符串1,字符串2):作用为进行字符串的复制。
(5)strcmp(字符串1,字符串2):作用为进行字符串的比较。
(6)strlen(字符串):作用为求字符串的长度。
(7)strlwr(字符串):作用为将字符串中的大写字母转换成小写字母。
(8)strupr(字符串):作用为将字符串中的小写字母转换成大写字母。
5.随机产生10个两位整数存储到一个一维数组中,找出其中的最大数。
解:#include<stdio.h>#include<stdlib.h>#define random(x) (rand()%x) int main(){int a[10],max;int x;for(x=0;x<10;x++)a[x]=random(100);max=a[0];for(x=0;x<10;x++){if(a[x]>max)max=a[x];printf("%4d",a[x]);}printf("\nmax=%d\n",max);return 0;}程序运行结果如下:41 67 34 0 69 24 78 58 62 64 max=786.输入10个整数,要求按照从小到大的顺序输出。
C语言程序设计 (何钦铭 颜晖 著) 高等教育出版社第五章 课后答案

{
double e,x,cos;
printf("Enter two numbers e and x :"); /*输入两个数e,x */
scanf("%lf%lf",&e,&x);
cos=funcos(e,x); /*调用函数funcos */
printf("The result of cos(%lf) is %lf.\n",x,cos);
printf("sign(%lf)=%d\n",x,y); /*输出x的符号*/
}
int sign(double x) /*定义函数sign */
{
int y;
if(x>0)y=1;
else if(x==0)y=0;
else y=-1;
return y;
}
练习5-2
#include <stdio.h>
#include <stdio.h>
int even(int n); /*声明函数even */
void main()
{
int num,sum=0;
printf("Enter the first number :"); /*输入第一个数*/
scanf("%d",&num);
while(num>0)
{
{
int i,j;
for(i=1;i<=n;i++) /*共n行金字塔*/
{
for(j=1;j<=n-i;j++)printf(" "); /*输出每行左边的空格*/
C语言程序设计模拟试题五

高级语言程序设计试题五》、单项选择题(每题 1 分,共20 分)1字符串“ abcd\tef\Og”的长度是()A 、9 B、7 C、6D、4 2.下列描述中不正确的是A 、字符型数组中可以存放字符串B、可以对字符型数组进行整体输入、输出C、可以对整型数组进行整体输入、输出D、不能在赋值语句中通过赋值运算符“二“对字符型数组进行整体赋值3. 设int x=1,y=1;表达式(!x||y--)的值是A、OB、1C、24. 以下循环体的执行次数是A、3B、2C、1main(){ int i,j;for(i=O,j=1;i<=j+1;i+=2,j--)printf(}5. 以下程序的输出结果是main(){ int x=1O,y=1O,i;for(i=O;x>8;y=++i)printf( “ %d %d” ,x--,y)}A、1O 1 9 2B、9 8 76、已知:char str1[20]= ” abcdd' ,str2[20]= ” xyz”;则执行语句:printf ( “%d” , strlen ( strcpy ( str1,str2 ) ) );输出结果是()A 、9B 、3C 、5D 、87、已知int a[10];则对a数组元素的正确引用是()A、a[10]B、a[3.5]C、a(5) D、a[10-10] 8、若已有定义char str[7];要将键盘输入的字符串“a pea r “赋给str,应使用A、gets(str);B、scanf(“%s” ,str);C、str=” a pear” ; D、getchar(str);9. 若定义函数int *func1(),则func1的函数返回值是A、整数B、指向函数的指针10. typedef int BIGGY; 的作用是A、建立了一个新的数据类型C、定义了一个长整型变量C、整型数的地址D、以上说法均错B、定义了一个整型变量D、说明了一个新的数据类型标识符D、-1D、O%d\n” ,i);6 C、1O 9 9 O D、1O 1O 9 111. C语言规定,函数的返回值类型是A、由return语句中的表达式类型决定的B、由调用该函数时的主调函数类型决定的C、由系统决定的D、由该函数定义时的类型决定的12、已知函数定义的形式如下:struct data * f(void ){ .............. }则函数 f ( )A 、没有参数,返回值是一个结构B 、有一个参数void, 返回值是一个结构C、没有参数,返回值是一个结构指针D 、有一个参数 void, 返回值是一个结构指针13、对于 int *pa[5] ;的描述,( )是正确的A 、 pa 是一个指向数组的指针,所指向的数组是 5个int 型元素B 、 pa 是一个指向某数组中第5个元素的指针,该指针是int 型变量C 、 p a[5]表示某个数组的第5个元素的值D 、 pa 是一个具有5个元素的指针数组,每一个元素是一个int 型指针 14•在C 语言中,switch 语句后一对圆括号中表达式的类型A 、可以是任何类型C 、可以是整型或字符型 15、 已知: struct{ int i;char c;float a;} test;贝U sizeof(test)的值是()A 、 4B 、 5C 、 616、 在高级语言中对文件操作的一般步骤是(A 、打开文件一操作文件一关闭文件B 、操作文件 —修改文件 — 关闭文件C 、 读写文件一打开文件一关闭文件D 、 读文件一写文件一关闭文件17.有如下程序段int *p,a=10,b=1; p=&a;a=*p+b;执行该程序段后,a 的值是A 、 12B 、 11C 、 1018•执行以下程序段后,s 的值是 int a[]={5,3,7,2,1,5,4,10};int s=0,k; for(k=0;k<8;k+=2) s+=*(a+k);A 、 17B 、 27C 、 1319.以下程序中有语法错误,有关错误原因的正确说法是 main(){ int G=5,k;void par_char(int x,int y);k=par_char(G);}A 、 语句void par_char();有错,不能用void 说明函数的类型B 、 变量名G 不能使用大写字母C 、 函数说明和函数调用语句之间有矛盾D 、 函数名不能使用下划线20.若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));贝在此函数调用语句中实参的个数是A 、 3B 、 4C 、 5D 、 6B 、只能是int 类型 D 、只能是整型或实型D 、 7 D 、编译出错 D 、无定值2 分,共10 分)、多项选择题(下列各题中,有一个或多个正确答案,多选或少选均不得分。
C语言程序设计练习五(参考答案)

C语言程序设计练习五(参考答案)五、程序设计题1.从键盘上输入10个整数,并将其存放在一数组中,求出该数组中所有大于零且为偶数的数的平均值。
#includevoidmain(){inta[10],i,n=0;floataver=0;for(i=0;i<10;i++)canf(\for(i=0;i<10;i++)if(a[i]>0&&a[i]%2==0){aver+=a[i];n++;}aver=aver/n;printf(\}2.若有n行n列数组,试编写一程序,分别求出两条对角线元素之和。
(从键盘输入n某n个整型数,n≤20)#include#defineN20voidmain(){inta[N][N],n,i,j,k=0,t=0;canf(“%d”,&n);for(i=0;i}printf(“k=%d,t=%d\\n”,k,t);}3.从键盘输入n某n个整型数(n≤20),组成n行n列数组,打印出其上三角数组。
#includevoidmain(){inta[20][20],i,j,n;canf(\for(i=0;icanf(\for(i=0;iprintf(\printf(\}}4.用以下近似公式编一个求的近似值的程序。
1111,其中n的值由键盘输入。
1(1)n143572n1#includevoidmain(){floatpi=0.0,=1.0;intn,i;canf(\for(i=1;i<=n;i++){pi=pi+/(2某i-1);=某(-1.0);}printf(\}25.若数组a中有十个整数8,2,5-3,7,-9,0,-4,10,15,请编程求出该数组中的最大值和最小值。
#includevoidmain(){inta[]={8,2,5-3,7,-9,0,-4,10,15},ma某,min,ima某=a[0];min=a[0];for(i=1;i<10;i++){if(a[i]>ma某)ma某=a[i];If(a[i]}printf(“ma某=%d,min=%d\\n”,ma某,min);}6.从键盘上输入一个正整数n(n≤10),求n的阶乘并输出结果。
C语言程序设计试卷5(含答案)
注意事项:1、本试卷共13 页,满分为100 分,考试时间为110 分钟。
2、标准答题卡使用2B铅笔涂写;文字题答题时请使用蓝、黑钢笔或圆珠笔,不得使用红颜色墨水笔。
二、阅读程序题答题处:(每空3分,共30分)三、程序改错题答题处:(每空2分,共12分)四、完善程序填空题答题处:(每空2分,共18分)一、单项单选题:(每题 1 分,共40 分)(说明:请将正确答案按照题干上【】内的序号涂写“标准答题卡”)1.以下标识符中,能够作为变量名使用的是【1】。
A) n_1 B) charC) x(2) D) 2_a2.若有定义语句char ch='\072'; 则变量ch 【2】。
A) 定义错误B) 包含1个字符C) 包含3个字符D) 包含4个字符3.已知字母B的ASCII码值为66,则运行下面程序段后,输出结果是【3】。
char ch1; ch1='B'+'5'-'3'; printf("%d,%c",ch1,ch1);A) D,D B) 68,DC) D,68 D) 68,684.若有如下语句:int x; float y;scanf("k=%d,f=%f",&x,&y);则能够正确的为变量x输入5、为变量y输入3.2的方法是【4】。
说明:备选答案中的<CR>表示回车符A) 5 3.2 <CR> B) 5 <CR> 3.2 <CR>C) k=5,f=3.2 <CR> D) x=5,y=3.2 <CR>5.执行下列程序段后,输出结果是【5】。
int k=10; printf("%d,%o,%x",k,k,k);A) 12,a,10 B) 12,10,aC) 10,12,a D) 10,a,126.判断char 型变量ch 是否为小写字母的正确表达式是【6】。
C语言程序设计教程第五章练习题题目
单选题1、关于数组的定义与初始化,下列哪一项是错误的()A.int arr[5] = {1,2,3,4,5};B.int arr[] = {1,2,3,4,5};C.int arr[5] = {1,2,3};D.int arr[5] = {1,2,3,4,5,6};2、在定义数组int arr[10]后,下列选项中对arr的引用正确的是()A.arr[10]B.arr[6.3]C.arr(6)D.arr[0]3、在C语言中,引用数组元素时,其数组下标的数据类型允许是()4、若int arr[5] = {1,2,3}; 则arr[2]的值为()5、在执行int arr[][3] = {1,2,3,4,5,6}:语句后,arr[1][0]的值为()6、关于二维数组,下列选项能正确定义并赋初值的是()A.int n = 5,b[n][n];B.int a[1][2] = {{1},{3}};C.int c[2][] = {{1,2},{3,4}};D.int a[3][2] = {{1,2},{3,4}};7、阅读下列程序段:char s[18] = "a book!";printf("%.4s\n", s);其输出结果为()A.a book!B.a bookC.a bo8、阅读下列程序:int a[4][4] = { { 1, 3, 5, }, { 2, 4, 6 }, { 3, 5, 7 } };printf("%d%d%d%d\n", a[0][0], a[1][1], a[2][2], a[3][3]);正确的输出结果为()9、阅读下面程序:int i;int x[4][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };for (i = 0; i<4; i++)printf("%3d", x[i][3 - i]);下列选项中哪一项是正确的输出结果()A.1 5 9 13B.1 6 11 16C.4 7 10 13D.4 8 12 1610、下列描述中不正确的是()。
《C语言程序设计》教材习题答案第5章
一、选择题1.设有程序段”int k=10;while(k=0)k=k-1;”,则下面叙述正确的是D 循环体语句一次也不执行2.设有程序段”int x=0,s=0;while(!x!=0)s+=++x;printf(“%d”,s);”则A 运行程序段后输出13.若有语句”int x=3;do{printf(“%d\n”,x-=2);}while(!(--x));”,则该程序段C 输出的是1和-24.下面循环语句中,错误的是D int a=1,b=2;do b--while(b= =0);5.已知”int i=5;”,下列do…while循环语句的循环次数为C 5do{printf(“%d\n”,i--);}while(i!=0);6.循环语句”for(int i=0,j=10;i=j=10;i++,j--)”的循环次数是D 无限7.循环语句”while(int i=0;)i--;”的循环次数是A 08.下述有关break语句的描述中,不正确的是C break语句用于if语句的内嵌语句内,它结束该if语句9.下面关于循环语句的描述中,错误的是B 循环体内必须同时出现break语句和continue语句10.以下不是死循环的是D for(;(c=getchar()!=’\n’);)printf(“%c”,c);11.执行语句”for(i=0;i++<3;);”后,变量i的值为C 412.语句”for(x=0,y=0;y!=1&&x<4;x++);”是C 循环4次13.与语句”while(!x);”等价的语句是A while(x= =0);14.执行下列程序段后a的值为B 2int a=1,b=10;do{b-=a;a++;}while(b--<0)二、编程题1.读入用户输入的6个整数并显示其平均值。
#include<stdio.h>main(){float sum=0;int tmp;int i;for(i=0;i<6;i++){printf("输入第%d个数:",i+1);scanf("%d",&tmp);sum=sum+tmp;}printf("平均值是:%f",sum/6);}2.先读入一个正整数n,然后计算并显示前n个偶数的和。
C语言程序设计试题第五套-试卷
“C程序设计及实验”试题卷注意:答题内容必须写在答题卷上,写在本试题卷上无效一.单项选择题(每题1分,共10分)1. 下列运算符中,优先级最低的是_____。
A.<< B.!= C.&& D.=2. 以下选项中不正确的整型常量是_____。
A.0xa B.010L C.10 D.1.03. 表达式!(x>0||y>0) 等价于_____。
A.!(x>0)&&!(y>0) B.!x>0&&!y>0 C.!x>0||!y>0 D.!(x>0)||!(y>0)4. 表达式______的值不是0。
A.1/2 B.!’\0’C.!EOF D.NULL5. 若x 是浮点型变量,表达式(x=10/4) 的值是_____ 。
A.2.5 B.2.0 C.3 D.26. 若变量已正确定义并赋值,表达式______不正确。
A.a&b B.a^b C.&&x D.a, b7. 对于变量定义int a[10], *p=a;,表达式______是不正确的。
A.a[9] B.p[5] C.*p++ D.a++8. 不正确的赋值或赋初值的方式是______。
A.char str[10]; str="string"; B.char str[ ]="string";C.char *p="string"; D.char *p; p="string";9. 设程序中不再定义和声明变量,写出在函数fun中可以使用的所有变量______。
#include <stdio.h>void fun(int x){ static int y;……return;}int z;void main( ){ int a,b;fun(a);……}A.x, y B.x, y, z C.a,b,y,z D.a,b,x,y,z10. 对于变量定义int p[5], *a[5];,表达式______是正确的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
解:
3
9.求一个3×3矩阵对角线元素之和。
解:
#include<stdio.h>
main()
{
float a[3][3],sum=0;
int i,j;
printf("请输入矩阵元素:\n");
for (i=0;i<3;i++)
for (j=0;j<3;j++)
scanf("%f",&a[i][j]);
t=a[i];
a[i]=a[min];
a[min]=t;
}
printf("\n排序结果如下:\n");
for(i=0;i<10;i++)
printf("%5d",a[i]);
}
程序运行情况如下:
请输入10个数:
6 90 45 56 1 15 44 78 58 101
排序结果如下:
1 6 15 44 45 56 58 78 90 101
void main()
{
int i,j,min,t,a[10];
printf("请输入10个数:\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<10-1;i++)
{
min=i;
for(j=i;j<10;j++)
if(a[min]>a[j]) min=j;
4.常用的字符处理函数有哪些?
解:常用的字符处理函数有以下8个。
(1)puts(字符串):作用为将一个字符串输出到终端。
(2)gets(字符数组):作用为从终端输入一个字符串到字符数组,并且得一个函数值。
(3)strcat(字符串1,字符串2):作用为进行字符串的连接。
(4)strcpy(字符串1,字符串2):作用为进行字符串的复制。
printf("%5d",a[i]);
return 0;
}
解:
1 5 9 11 11 13 15
(2)#include<stdio.h>
intmain()
{
int a[3][3],i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=i;
for(i=0;i<3;i++)
解:下标的意义是对数组的各个数组元素进行标识和区分。由数组名和下标结合起来形成数组元素的名字。
3.使用字符数组来存储字符串应注意什么问题?
解:需要注意的问题是字符数组在存储字符串时是以'\0'作为结束标记的。这个'\0'是系统自动加上的。所以字符数组的长度需要比它要存储的字符串的长度至少多1。例如,要存储字符串"abcd",因为它的长度为4,所以存储它的字符数组的长度至少为5。
for (i=0;i<3;i++ )
sum=sum+a[i][i];
printf("对角线元素之和=%.2f\n",sum);
}
程序运行情况如下:
请输入矩阵元素:
1 2 3 4 5 6 7 89↙
对角线元素之和=15.00
10.找出一个二维数组中的鞍点,所谓鞍点是指该位置上的数在该行最大,在该列最小。需要注意的是,并不是所有的二维数组都有鞍点。
if(strcmp(p[i],p[j])>0)
{strcpy(t,p[i]); strcpy(p[i],p[j]); strcpy(p[i],t); }
}
int main()
{
char p[5][10]={"abc","aabdfg","abbd","dcdbe","cd"};
f(p,5);
printf("%d\n",strlen(p[0]));
{
if(a[x]>max)
max=a[x];
printf("%4d",a[x]);
}
printf("\nmax=%d\n",max);
return 0;
}
程序运行结果如下:
41 67 34 0 69 24 78 58 62 64
max=78
6.输入10个整数,要求按照从小到大的顺序输出。
解:
#include<stdio.h>
if (max>a[k][maxj])
flag1=0;
if (flag1)
{
printf("\n第%d行,第%d列的%d是鞍点\n",i,maxj,max);
flag2=1;
}
}
if(!flag2)
printf("\n矩阵中无鞍点!\n");
}
矩阵中有鞍点,运行情况如下:
输入行数n:2↙
输入列数m:2↙
9876543210
8.写出下列程序的运行结果。
(1)#include<stdio.h>
void fun(int b[])
{
int i=0;
while(b[i]<=10)
{
b[i]+=2;
i++;
}
}
int main()
{
int i,a[]={1,5,7,9,11,13,15};
fun(a+2);
for(i=0;i<7;i++)
}
/*顺序颠倒*/
for(i=0;i<N/2;i++)
{
t=a[i];
a[i]=a[N-i-1];
a[N-i-1]=t;}来自printf("顺序颠倒后的字符:\n");
for(i=0;i<N;i++)
printf("%c",a[i]);
}
程序运行情况如下:
请输入10个字符:
0123456789↙
顺序颠倒后的字符:
7.输入10个字符,并将它们的顺序颠倒后输出。
解:
#include<stdio.h>
#define N 10
void main()
{
char a[N],t;
int i;
/*输入10个字符并输出*/
printf("请输入10个字符:\n");
for(i=0;i<10;i++)
{
scanf("%c",&a[i]);
for(j=1;j<=5;j++)
scanf("%d",&score[i][j]);
}
for(i=1;i<=30;i++)
{
score[i][6]=0;
for(j=1;j<=5;j++)
score[i][6]+=score[i][j];
}
printf("期末成绩单\n");
printf("%10s%10s%10s%10s%10s%10s%10s\n","学号","课程1","课程2","课程3","课程4","课程5","总分");
解:
#define N 10
#define M 10
#include <stdio.h>
void main()
{
int i,j,k,m,n,flag1,flag2,a[N][M],max,maxj;
printf("\n输入行数n:");
scanf("%d",&n);
printf("\n输入列数m:");
}
解:
3 5 7
(4)#include <stdio.h>
#include <string.h>
int main()
{
char p[20]={'a','b','c','d'},q[]="abc",r[]="abcde";
strcpy(p+strlen(q),r); strcat(p,q);
printf("%d\n%d\n",sizeof(p),strlen(p));
printf("%6d",a[i][j]);
printf("\n");
}
printf("\n");
}
程序运行结果如下:
1
11
121
1331
14641
15101051
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
voidmain()
{
int i,j,a[N][N];
for(i=1;i<N;i++)
{
a[i][i]=1;
a[i][1]=1;