|
|
老江
版主
School Days推廣
. 積分: 391
. 精華: 1
. 文章: 3664
. 收花: 1702 支
. 送花: 8225 支
. 比例: 4.83
. 在線: 650 小時
. 瀏覽: 18020 頁
. 註冊: 7451 天
. 失蹤: 134 天
|
|
|
|
|
|
|
#1 : 2005-5-30 08:28 PM
只看本作者
|
送花
(0)
送出中...
|
|
|
#include< stdio.h >
#define max_row 200
#define max_col 200
void ar1(double a[max_row][max_col],int l);
void ar2(void ar1(double a[max_row][max_col],int l),double x[max_row][max_col],int k);
void add(double a[max_row][max_col],double b[max_row][max_col],double c[max_row][max_col],int l);
void had(double a[max_row][max_col],double b[max_row][max_col],double d[max_row][max_col],int l);
int main(void)
{
double a[max_row][max_col],b[max_row][max_col],c[max_row][max_col],d[max_row][max_col];
int l,i,j;
printf("請輸入陣列邊長>");
scanf("%d",&l);
printf("請輸入a陣列數字>");
ar1(a,l);
printf("請輸入b陣列數字>");
ar2(ar1,b,l);
add(a,b,c,l);
had(a,b,d,l);
for(i=0;i<l;i=i+1)
for(j=0;j<l;j=j+1)
printf("a+b=%lf",c[i][j]);
for(i=0;i<l;i=i+1)
for(j=0;j<l;j=j+1)
printf("a*b=%lf",d[i][j]);
return 0;
}
void ar1(double a[max_row][max_col],int l)
{
int i,j;
for(i=0;j<l;i++)
for(j=0;j<l;j++)
scanf("%lf",a[i][j]);
}
void ar2(void ar1(double a[max_row][max_col],int l),double x[max_row][max_col],int k)
{
ar1(x,k);
}
void add(double a[max_row][max_col],double b[max_row][max_col],double c[max_row][max_col],int l)
{
int i,j;
for(i=0;j<l;i++)
for(j=0;j<l;j++)
c[i][j]=a[i][j]+b[i][j];
}
void had(double a[max_row][max_col],double b[max_row][max_col],double d[max_row][max_col],int l)
{
int i,j;
for(i=0;j<l;i++)
for(j=0;j<l;j++)
d[i][j]=a[i][j]*b[i][j];
}
嗯,我是想做兩個2d的array(正方形的)出來
一開始是自己輸入array邊長大小,再輸入裡面的值
然後print出a array+b array與a array*b array這兩種
很不幸的,在第一行的"請輸入陣列邊長>"
輸入數字之後,程式就關了(我是打整數喔..)
通常這樣都是下一行有問題,不過我看了半天那個printf看起來很正常
我卻連看都還沒看到程式就關了
題目唯一的要求就是要有
(data type)function_1(....,(data type)function_2(...,))
在副程式裡呼叫副程式來用,所以我才會把ar2寫成那樣子
[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
|
|