c书后答案(8)

2019-09-01 22:25

3 4 5 18

8 12 16 54

43 34 18 7

#include

main()

{ int i,j,a[3][4]={{3,4,5,18}, {8,12,16,54}, {43,34,18,7}};

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

{ for(j=0;j<4;j++)

if(a[i][j]==18) break;

if(j<4)break; }

printf(\数值18第一次出现的位置在%d行,第%d列\\n\ }

9.设有4行4列的数组a,其元素a[i][j]=3*i+2*j-6。编写程序,实现如下功能:

(1)求第二行4元素的累加和;

(2)求第四列4元素的平均值;

(3)求主对角线4元素中负数的个数。

#include

void main()

{ int a[4][4],i,j,s=0,m=0;

float n=0;

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

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

a[i][j]=3*i+2*j-6;

printf(\原始数组为:\\n\

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

{ for(j=0;j<4;j++)

printf(\

printf(\ }

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

s+=a[1][j];

printf(\第二行4元素累加和为:%d\\n\

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

n+=a[j][3];

printf(\第四列4元素平均值为:%.2f\\n\

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

if(a[i][i]<0)

m++;

printf(\主对角线4元素中负数的个数为:%d\\n\ }

10.约瑟夫环问题:编号为1,2,3,...,n的n个人按顺时针方向围坐一圈,每人持有一个正整数密码。一开始任选一个正整数m作为报数上限值,从第一个人开始按顺时针报数,报到m时停止,报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。设计程序求出出列顺序。

分析:设整型数组a中保存n个人的密码,对应的人出列后,数组元素置0作为标志。顺时针确定下一个人的方法,可将下标加1,再对n求余。

#include

#define N 100

main()

{ int a[100];

int i,j,m,n,k=0;

printf(\输入人数n和任选的一个正整数m:\

scanf(\

printf(\输入n个人的密码: \

for (i=0;i

scanf(\

printf(\出列顺序为: \

for(i=0;i

{ j=1;

while(j

{ while(a[k]==0) /*跳过已出列的人*/

k=(k+1)%n; j++;

k=(k+1)%n;

}

while(a[k]==0) /*跳过已出列的人*/

k=(k+1)%n;

printf(\

m=a[k];

a[k]=0;

} }

第7章习题 一、选择题 1 2 3 4 5 6 7 8 9 10

A D D B A D C D B A

二填空题

1. main()

2. main()

3.函数首部

4. 解决函数必须“定义在前,使用在后”的原则问题

5. int

6. 定义调用

7. 地址传递值传递

8. return void

9. void f(float a,float b) float f(float a,float b)

10. static


c书后答案(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:朗读教学的误区及对策

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

马上注册会员

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