两种思维
c 语言 lisp语言
#include<stdio.h> (defvar arrA nil)
int a[3][3]={1,2,3, (defvar arrB nil)
4,5,6, (defvar arrC nil)
7,8,9}; (setf arrA #2a((1 2 3) (4 5 6) (7 8 9)))
int i,n; (setf arrB (make-array '(3 3) :initial-element nil))
void fun(int d[3][3]) (setf arrC (make-array '(3 3) :initial-element nil))
{ (do ((i 0 (+ i 1)))
int b[3][3]; ((> i 2) 'outside)
int c[3][3]; ( do ((n 0 (+ n 1)))
for(i=0;i<=2;++i){ ((> n 2) 'outside)
for(n=0;n<=2;++n){ (setf (aref arrB n i) (aref arrA i n))
(setf (aref arrC n i) (+ (aref arrA n i) (aref arrB n i)))
b[n][i]=d[i][n]; (format t "~d " (aref arrC n i))))
c[n][i]=d[n][i]+b[n][i];
printf("%d ",c[n][i]);
}
}
}
int main ()
{
fun(a);
return 0;
}
[此贴子已经被作者于2020-12-26 23:53编辑过]