第一范文网 - 专业文章范例文档资料分享平台

《C语言程序设计》课后习题参考答案

来源:用户分享 时间:2025/6/4 5:57:14 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

《C语言程序设计》课后习题参考答案

1.B 2.A 3.A 4.D 5.C 6.B 7.A 8.A 二、填空题

1.按行的顺序依次存放的 2.0 3.4 4.6

三、编程题

1.有一个多项式:Pn(x)=a0xn+a1xn-1+…+an

它们的系数a0,a1,…,an存放在一个一维数组中。编制程序,输入系数和x的值,计算并输出Pn(x)。 参考代码如下: #define N 4 main()

{ int a[N+1],p,x,i;

printf(\Please enter a[%d],...,a[0]:\\n\); for(i=N;i>=0;i--)

scanf("%d\,&a[i]);

printf("Please enter x=\\n\); scanf(\d\&x); p=a[N];

for(i=N;i>0;i--) {

p=p*x+a[i-1]; }

printf(\n(x)=%d\\n",p); }

2.打印以下的杨辉三角形(要求打印6行)。 1 11 121 1331 14641

参考代码如下:

#include #include #define N 6 main() {

int i,j,max[N][N]; for(i=0;i

for(j=0;j

《C语言程序设计》课后习题参考答案

{ max[i][0]=1; max[i][i]=1; } }

for(i=2;i<N;i++) {

for(j=1;j<i;j++)

{ max[i][j]=max[i-1][j-1]+max[i-1][j]; } }

for(i=0;i

for(j=0;j<=i;j++)

{ printf(\ax[i][j]); } printf(\"); } } ?

3.编写程序,将一个数插入到有序的数列中去,插入后的数列仍然有序。 参考代码如下:/*假设原有5个数*/ #include

{ int a[6]={1,2,6,10,15}; int n,i,j;

printf(\Please enter the insert number:\ scanf(\

for(i=0;i<5;i++) if(n>a[i])

continue; else break;

for(j=4;j>=i;j--) a[j+1]=a[j]; a[i]=n;

for(i=0;i<6;i++)

printf(\d,\,a[i]); printf(\); }

4.编写程序,在有序的数列中查找某数,若该数在此数列中,则输出它所在的位置,否则输出no found。 参考代码如下:

#include main()

《C语言程序设计》课后习题参考答案

{ int a[10]={1,2,3,4,5,6,7,8,9,10}; int n,i,j,k=0;

printf(\Please enter the number:"); scanf(\d\ for(i=0;i<10;i++) { while(n==a[i]) ?{k=1;j=i;break;} }

if(k==1)

printf("a[%d]\n",j); else

printf(\no found.\\n\); } ?

5.编程将下列矩阵中的元素向右移动一列,最右一列移至第一列。

1 4 6 8 10 12

[提示:用二维数组v存放矩阵中元素,数组v可在定义时初始化;有两种方法实现这种移动:一种方法是将移动后的元素放在另一个二维数组中;另一种方法是利用一个中间变量仍将移动后的元素放在数组v中。] #include void main() { int i,j;

int a[2][3]={1,4,6,8,10,12}; int b[2][3];

b[0][0]=a[0][2]; b[0][1]=a[0][0]; b[0][2]=a[0][1]; b[1][0]=a[1][2]; b[1][1]=a[1][0]; b[1][2]=a[1][1]; printf(\a[2][3]:\ for(i=0;i<2;i++) { printf(\

for(j=0;j<3;j++)

printf("]\,a[i][j]); }

printf("\\nresult:\n\ for(i=0;i<2;i++) { printf(\

《C语言程序设计》课后习题参考答案

for(j=0;j<3;j++)

printf(\%5d\,b[i][j]); }

printf(\ getch(); }?

6.利用公式c(i,j)?a(i,j)?b(i,j)计算m×n的矩阵A和m×n的矩阵B之和,已知a(i,j)为矩阵A的元素,b(i,j)为矩阵B的元素,c(i,j)为矩阵C的元素,i?1,2,...,m,j?1,2,...,n。

[提示:用二维数组元素做函数参数编程实现矩阵相加。] #include<stdio.h> #include #define M 2 #define N 2 int a[M][N]; int b[M][N]; int c[M][N];

void matrix(int a[][M],int b[][N]); main() {

int i,j,t; clrscr();

printf(\e input a[%d][%d]\n\N); for(i=0;i<N;i++) for(j=0;j<N;j++) { scanf(\&t); a[i][j]=t; }

printf(\ease input b[%d][%d]\\n\M,N); for(i=0;i

matrix(b,c);

printf(\a[%d][%d]\,M,N); for(i=0;i<M;i++) { printf(\

for(j=0;j<N;j++)

printf(\%5d",a[i][j]); }

printf(\n\

printf("b[%d][%d]",M,N); for(i=0;i

《C语言程序设计》课后习题参考答案

{ printf(\\n"); for(j=0;j<N;j++)

printf(\,b[i][j]); }

printf("\\n\;

printf(\c[%d][%d]=A+B:",M,N); for(i=0;i<M;i++) { printf(\\n\ for(j=0;j

printf(\%5d\[i][j]); } }

void matrix(int a[][M],int b[][N]) { int i,j,k,t;

for(i=0;i

c[i][j]=a[i][j]+b[i][j]; }

习题6参考答案

一、选择题

1.A 2.D 3.D 二、填空题

1.指针 取地址 2.3 3.9876 876 4.24

三、编程题

1.输入3个整数,按从大到小的次序输出。 参考代码如下: main() {

int a[3],i,j,t;

printf(\Please enter three number:\\n\) for(i=0;i<3;i++) scanf(\,&a[i]); for(i=0;i<2;i++) for(j=0;j<2;j++)

《C语言程序设计》课后习题参考答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1fzwy2vivi570pk9t8239nplx1m5bx00ahx_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top