C语言程序设计课后题答案(5)

2019-05-17 19:01

printf(\scanf(\j=dec_bin(a,decimal); for(i=j;i>=0;i--) printf(\}

——————————————————————————————————————

9.33 编写函数调用随机函数产生0到19之间的随机数,在数组中存入15个互不重复的整数。要求在主函数中输出结果。若已定义x为int类型,调用随机函数步骤如下: #include \. . .

x=rand() /*产生0到19的随机数*/ ※程序如下※ #include

void rand1(int a[]) {

int i=0,j,x,flag; while(i<15) { flag=1; x=rand() ;

for(j=0;jBR> if(a[j]==x) { i--; flag=0; break; }

if(flag==1) a=x; i++; } } main() { int i,a[15]; clrscr(); rand1(a); for(i=0;i<15;i++) printf(\}

——————————————————————————————————————

9.34 求任意方阵每行、每列、两对角线上元素之和。 ※程序如下※ #include #define M 3

void line_sum(int a[M][M],int a1[]) { int i,j,k;

for(i=0,k=0;iBR> { a1[k]=0;

for(j=0;jBR> a1[k]+=a[j]; } }

void column_sum(int a[M][M],int a2[]) { int i,j,k;

for(i=0,k=0;iBR> { a2[k]=0;

for(j=0;jBR> a2[k]+=a[j]; } }

void diagonal_sum(int a[M][M],int a3[]) { int i,j;

for(i=0;iBR> for(j=0;jBR> { if(i==j) a3[0]+=a[j]; if(i+j==M-1) a3[1]+=a[j]; } } main() {

int i,j,a[M][M],a1[M],a2[M],a3[2]={0}; clrscr(); i=M;

printf(\for(i=0;iBR> for(j=0;jBR> scanf(\line_sum(a,a1); column_sum(a,a2); diagonal_sum(a,a3);

for(i=0;iBR> printf(\

for(i=0;iBR> printf(\for(i=0;i<2;i++)

printf(\}

—————————————————————————————————————— 9.35 求两个矩阵的和 #include #define M 4

void add(int a[M][M],int b[M][M],int c[M][M]) { int i,j; for(i=0;iBR> {

for(j=0;jBR> c[j]=a[j]+b[j]; } } main() {

int i,j,k,a[M][M],b[M][M],c[M][M]={0}; i=M;

printf(\for(i=0;iBR> for(j=0;jBR> scanf(\i=M;

printf(\for(i=0;iBR> for(j=0;jBR> scanf(\add(a,b,c); i=M;

printf(\\\n\for(i=0;iBR> {

for(j=0;jBR> printf(\printf(\} }

—————————————————————————————————————— 9.36 编写函数打印出以下形式的乘法九九表。 ** A MULTIPLICATION TABLE ** (1) (2) (3) (4) (5) (6) (7) (8) (9)

---------------------------------------------------------- (1) 1 2 3 4 5 6 7 8 9 (2) 2 4 6 8 10 12 14 16 18 (3) 3 6 9 12 15 18 21 24 27 (4) 4 8 12 16 20 24 28 32 36 (5) 5 10 15 20 25 30 35 40 45 (6) 6 12 18 24 30 36 42 48 54

(7) 7 14 21 28 35 42 49 56 63 (8) 8 16 24 32 50 48 56 64 72 (9) 9 18 27 36 45 54 63 72 81

---------------------------------------------------------- ※程序如下※ #include main() { int i,j; clrscr();

printf(\printf(\

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

printf(\for(j=1;j<=9;j++) printf(\printf(\}

printf(\}

——————————————————————————————————————

9.37 调用随机函数为5 x 4的矩阵置100以内的整数,输出该矩阵,求出每行元素之和并把和值最大的那一行与第一行上的元素对调。若已定义x为int类型,调用随机 函数步骤如下: #include \. . .

x=rand( )0 /*产生0到100的随机数*/ ※程序如下※ #include #include void rand1(int *p) { int i,j;

for(i=0;i<5;i++) for(j=0;j<4;j++,p++) *p=rand()0; }

void exchange(int a[5][4]) {

int i,j,max,temp,b[5]={0}; for(i=0;i<5;i++) for(j=0;j<4;j++) b+=a[j]; for(i=0;i<5;i++)

if(bBR> for(j=0,i=0;j<4;j++) { temp=a[j]; a[j]=a[max][j]; a[max][j]=temp; } } main() {

int i,j,a[5][4]; clrscr(); rand1(a);

printf(\for(i=0;i<5;i++) {

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

exchange(a);

printf(\for(i=0;i<5;i++) {

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

——————————————————————————————————————

9.38 调用随机函数为5 x 5 的矩阵置100以内的整数,输出该矩阵,然后逆置该矩阵。即将第一列的元素放在第一行上、第二列的元素放在第二行上、其它依次类推。 ※程序如下※ #include #include

void Rand1(int *p) { int i,j;

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


C语言程序设计课后题答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:推荐下载 初中英语多元教学法的探究-最新

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

马上注册会员

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