~$c语言程序设计(2011版)课后编程题答案
void rand1(int a[]) {
int i=0,j,x,flag; while(i<15) {
flag=1;
x=rand() ; for(j=0;j
if(flag==1) a=x; i++; } }
main() {
int i,a[15]; clrscr(); rand1(a);
for(i=0;i<15;i++) printf(\ }
9.34 求任意方阵每行、每列、两对角线上元素之和。
※程序如下※
#include
void line_sum(int a[M][M],int a1[]) {
int i,j,k;
for(i=0,k=0;i a1[k]=0; for(j=0;j void column_sum(int a[M][M],int a2[]) { int i,j,k; for(i=0,k=0;i - 17 - ~$c语言程序设计(2011版)课后编程题答案 a2[k]=0; for(j=0;j void diagonal_sum(int a[M][M],int a3[]) { int i,j; for(i=0;i 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;i printf(\ for(i=0;i printf(\ for(i=0;i<2;i++) printf(\ } 9.35 求两个矩阵的和 #include void add(int a[M][M],int b[M][M],int c[M][M]) { int i,j; for(i=0;i for(j=0;j - 18 - ~$c语言程序设计(2011版)课后编程题答案 } main() { int i,j,k,a[M][M],b[M][M],c[M][M]={0}; i=M; printf(\ for(i=0;i printf(\ for(i=0;i printf(\ for(i=0;i for(j=0;j 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 int i,j; clrscr(); printf(\ printf(\ printf(\ - 19 - ~$c语言程序设计(2011版)课后编程题答案 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 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(b 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++) { - 20 -

