第5章习题解答(2)

2018-11-28 18:47

printf(\ }

(2)#include \ void main()

{ static int a[200]; int i,j,n; for(i=0;i<200;i++) a[i]=0; n=100;

for(i=0;i

(3)#include \ void main() { int a,b=0;

static int c[10]={1,2,3,4,5,6,7,8,9,0}; for(a=0;a<10;++a)

if((c[a]%2)==0) b+=c[a]; printf(\ }

(4)#include \ void main() { int a,b=0;

static int c[10]={1,2,3,4,5,6,7,8,9,0}; for(a=0;a<10;++a) if((a%2)==0) b+=c[a]; printf(\ }

(5)#include \ main() { int a,b=0;

int c[10]={1,2,3,4,5,6,7,8,9,0}; for(a=0;a<10;++a) b+=c[a]; printf(\ }

(6)#include \

int c[10]={1,2,3,4,5,6,7,8,9,0}; void main() { int a,b=0; for( a=0;a<10;++a) if((c[a]%2)==1) b+=c[a]; printf(\ } (1) 结果: 1 2 4 8 1632 64 128 256 512 (2) 结果:199 (3) 结果:20 (4) 结果:25 (5) 结果:45 (6) 结果:25

【习题5-9】编写一个程序,完成5.1题的要求。 程序如下: /*c5_9.c*/ #include void main() {

double a[12]={1.0,15.5,9.5,-23,8.4,66.5,7.1,22.0,54.5,-34,11.3,32.5}; int i,j,k; double max,min; min=a[0]; for(i=0;i<12;i++) if(min>a[i]) min=a[i];

printf(\ max=a[0]; for(i=0;i<12;i++) if(max

if(i==j||j==k||k==i) continue; if(a[i]+a[j]==a[k])

printf(\ }

for(i=0;i<12;i++) for(j=0;j<12;j++) for(k=0;k<12;k++) {

if(i==j||j==k||k==i) continue; if(a[i]-a[j]==a[k])

printf(\ } }

【习题5-10】编写一个程序,完成5.2题的要求。 程序如下: /*c5_10.c*/

(略)

【习题5-11】对给定的整型一维数组a[100]赋值,要求给奇数下标值的元素赋负值,偶数下标值的元素赋正值。

程序如下:

/*c5_11.c*/ #include void main() {

int a[100]; int i,j,k; for(i=0;i<100;i++) if(i%2==1) a[i]=-1; else a[i]=1; }

【习题5-12】给整型二维数组b[3][4]输入12个数据,计算并输出数组中所有正数之和、所有负数之和。

程序如下: /*c5_12a.c*/

#include void main()

{ static int b[3][4]; int i,j,sum1=0,sum2=0;

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

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

{if(b[i][j]>0) sum1+=b[i][j]; if(b[i][j]<0) sum2+=b[i][j]; }

printf(\

/*c5-12b.c*/

#include void main()

{ int x[3][4],i,j,a=0,b=0; for(i=0;i<3;i++) for(j=0;j<4;j++)

scanf(\ for(i=0;i<3;i++)

for(j=0;j<4;j++) if(x[i][j]>0) a+=x[i][j]; else

b+=x[i][j];

printf(\}

【习题5-13】对稀疏数组a[20](所谓稀疏数组,即有若干数组元素值为0的数组),编写一个程序,将所有非零元素值按紧密排列形式转移到数组的前端。(要求:程序中不再开辟其它的单元作为数组元素值的缓存单元)

程序如下:

/*c5_13.c*/ #include void main() {

int a[20]={0,0,1,0,2,0,0,0,3,4,0,0,0,0,0,5,0,0,6,0}; int i,j,k; for(i=0;i<20;i++) printf(\

printf(\ for(i=1;i<20;i++) {

if(a[i]==0) continue; for(k=i-1;k>=0;k--) if(a[k]!=0) break; if(k==i-1) continue; a[k+1]=a[i]; a[i]=0; }

for(i=0;i<20;i++) printf(\ printf(\}

【习题5-14】用选择法编写一个程序,使存储在整型数组a[100]中的各元素值按升序排列存放。(要求:程序中至多允许使用一个缓存单元)

程序如下:

/*c5_14a.c*/

#include void main()

{ static int a[100]; int i,j,temp;

printf(\ for(i=0;i<100;i++) scanf(\ for(i=0;i<99;i++) for(j=i+1;j<100;j++) if(a[i]>a[j]) {

temp=a[j]; a[j]=a[i];

a[i]=temp;

}

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

printf(\ printf(\

/*c5.14b.c*/ void main()

{ int a[100],i,j,min,t; for(i=0;i<100;i++) scanf(\ for(i=0;i<99;i++) { min=i;

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

if(a[j]


第5章习题解答(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2013小机泵大修总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: