好文档 - 专业文书写作范文服务资料分享网站

完整word版,《C语言程序设计》课后习题答案(第四版)谭浩强

天下 分享 时间: 加入收藏 我要投稿 点赞

int main() {

int a[3][3],sum=0; int i,j;

printf(\ for (i=0;i<3;i++) for (j=0;j<3;j++)

scanf(\ for (i=0;i<3;i++) sum=sum+a[i][i];

printf(\ return 0; } 6-4

#include int main()

{ int a[11]={1,4,6,9,13,16,19,28,40,100}; int temp1,temp2,number,end,i,j; printf(\ for (i=0;i<10;i++) printf(\ printf(\

printf(\ scanf(\ end=a[9];

if (number>end) a[10]=number; else

{for (i=0;i<10;i++) {if (a[i]>number) {temp1=a[i]; a[i]=number; for (j=i+1;j<11;j++) {temp2=a[j]; a[j]=temp1; temp1=temp2; } break; } } }

printf(\ for (i=0;i<11;i++) printf(\

printf(\ return 0; } 6-5

#include #define N 5 int main()

{ int a[N],i,temp;

printf(\ for (i=0;i

for (i=0;i

printf(\ for (i=0;i

#include #define N 10 int main()

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

for (i=2;i

a[i][j]=a[i-1][j-1]+a[i-1][j]; for (i=0;i

printf(\ printf(\ }

printf(\ return 0;

} 6-7

#include int main()

{ int a[15][15],i,j,k,p,n; p=1;

while(p==1)

{printf(\ scanf(\

if ((n!=0) && (n<=15) && (n%2!=0)) p=0; }

for (i=1;i<=n;i++) for (j=1;j<=n;j++) a[i][j]=0; j=n/2+1; a[1][j]=1;

for (k=2;k<=n*n;k++) {i=i-1; j=j+1;

if ((i<1) && (j>n)) {i=i+2; j=j-1; } else

{if (i<1) i=n; if (j>n) j=1; }

if (a[i][j]==0) a[i][j]=k; else

{i=i+2; j=j-1; a[i][j]=k; } }

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

printf(\ printf(\ } return 0; }

6-8

#include #define N 4

#define M 5 /* 数组为4行5列 */ int main() {

int i,j,k,a[N][M],max,maxj,flag; printf(\

for (i=0;i

{max=a[i][0]; /* 开始时假设a[i][0]最大 */ maxj=0; /* 将列号0赋给maxj保存 */ for (j=0;jmax) {max=a[i][j]; /* 将本行的最大数存放在max中 */ maxj=j; /* 将最大数所在的列号存放在maxj中 */ }

flag=1; /* 先假设是鞍点,以flag为1代表 */ for (k=0;ka[k][maxj]) /* 将最大数和其同列元素相比 */ {flag=0; /* 如果max不是同列最小,表示不是鞍点令flag1为0 */ continue;}

if(flag) /* 如果flag1为1表示是鞍点 */ {printf(\ /* 输出鞍点的值和所在行列号 */ break; } }

if(!flag) /* 如果flag为0表示鞍点不存在 */ printf(\ return 0; } 6-9

#include #define N 15 int main()

{ int i,number,top,bott,mid,loca,a[N],flag=1,sign; char c;

printf(\ scanf(\ i=1;

while(i

{scanf(\ if (a[i]>=a[i-1]) i++; else

printf(\ }

printf(\

for (i=0;i

{printf(\ scanf(\ sign=0;

top=0; //top是查找区间的起始位置 bott=N-1; //bott是查找区间的最末位置

if ((numbera[N-1])) //要查的数不在查找区间内 loca=-1; // 表示找不到 while ((!sign) && (top<=bott)) {mid=(bott+top)/2; if (number==a[mid]) {loca=mid;

printf(\ sign=1; }

else if (number

top=mid+1; }

if(!sign||loca==-1)

printf(\ printf(\ scanf(\ if (c=='N'||c=='n') flag=0; } return 0; }

完整word版,《C语言程序设计》课后习题答案(第四版)谭浩强

intmain(){inta[3][3],sum=0;inti,j;printf(\for(i=0;i<3;i++)for(j=0;j<3;j++)scanf(\for(i=0;i<3;i++)sum=sum+a[i][i];printf(\return0;}
推荐度:
点击下载文档文档为doc格式
01oxf4g1zx7l7tx29ybm0wacw0f2i000g9o
领取福利

微信扫码领取福利

微信扫码分享