c語言二維數組的計算
① c語言中的二維數組的運算問題
上面能運行下面報錯?不可能吧
數組是在棧空間上分配的,c默認不支持動態數組,所以如果你使用rule_num作為數組的下標定義一個數組是會報錯的。如果希望使用變長數組,可以採用malloc動態分配。
另外,標準的c語言程序要求將所有的變數都定義在函數的開頭,也就是說你將char型數組寫在while循環中這一個寫法本身也是有問題的。能夠編譯通過可能因為你是用的是c++編譯器。
另外,vc默認的棧為1m,1個char類型變數需要1b的空間,10000^2需要95m,所以棧溢出也是有可能的。
② 急急!!!如何用c語言輸入和輸出一個二維數組
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[2][2];
int i,j;
for (i=0;i<2;i++)
{
for (j=0;j<2;j++)
{
scanf("%d ",&a[i][j]);
}
}
for(i=0;i<2;i++)
for(j=0;j<2;j++)
printf("%d",a[i][j]);
return 0;
}
運行成功
③ 用C語言實現二維數組的相關運算
1.不用說了
2.即row=0,col=0和row=MAX_ROW,col=MAX_COL元素的和
3.簡單點將二維數組存到一維數組中,然後分別將奇數下標和偶數下標求和。
4.row=col的元素之和
④ 用C語言進行二維數組計數
#include<stdio.h>
void count(int x[100],int a[1000][10]){
int iA,iB;
for(iA=0; iA<100; iA++){
x[iA] = 0;
}//初始化
for(iA=0; iA<1000; iA++){
for(iB=0; iB<10; iB++){
if(a[iA][iB] >= 1 && a[iA][iB] <= 100){
x[a[iA][iB]-1] += 1;//x[?] 記錄 ?+1 出現的次數
}
}
}//遍歷數組
}
⑤ c語言二維數組下標的值怎麼算
數組的下標是從0開始,由於數組是連續存儲的,你可以想像用一個4x4的表格來表達這個數組,然後把for循環體內語句中數組對應的下標值根據算術表達式進行計算就可以啦。
2+6+9+2 =19,其他的數組下標都可用這種方法來計算。
⑥ c語言中 用函數計算二維數組每行之和以及每列之和 怎麼編程
已通過測試
#include <stdio.h>
void fun(int a[][10],int row,int col)
{ int i,j,k,sum;
int r[10],c[10];
k=0;
for(i=0;i<row;i++)
{ sum=0;
for(j=0;j<col;j++)
sum+=a[i][j];
r[k]=sum;
k++;
}
k=0;
for(j=0;j<col;j++)
{ sum=0;
for(i=0;i<row;i++)
sum+=a[i][j];
c[k]=sum;
k++;
}
for(k=0;k<row;k++)
printf("the sum of NO.%d row is %d\n",k+1,r[k]);
for(k=0;k<col;k++)
printf("the sum of NO.%d column is %d\n",k+1,c[k]);
}
main()
{ int a[10][10],row,col;
int i,j;
printf("Input the row and column of array:");
scanf("%d%d",&row,&col);
for(i=0;i<row;i++)
for(j=0;j<col;j++)
scanf("%d",&a[i][j]);
fun(a,row,col);
}
⑦ c語言中的二維數組
C 語言中的多維數組(multidimensional array)其實就是元素為數組的數組。n 維數組的元素是 n-1 維數組。例如,二維數組的每個元素都是一維數組,一維數組的元素當然就不是數組了。
多維數組聲明時,每個維度用一對方括弧來表示:char screen[10][40][80]; // 一個三維數組
數組 screen 包含 10 個元素,從 screen[0] 到 screen[9]。每個元素又是一個二維數組,它有 40 個元素,這 40 個元素均是一維數組,然後每個一維數組內都有 80 個字元。整體來說,screen 數組有 32000(10×40×80)個 char 類型元素。
想要獲取該三維數組 screen 內的某個 char 元素,必須指定 3 個索引值。例如,下面的語句把字元Z寫入該數組的最後一個元素位置:screen[9][39][79] = 'Z';
⑧ 求C語言編程:調用函數計算二維數組所有元素的平均值
兩個for循環
記錄二維數組的總值
count+=array[i][j]
key記錄數組元素個數
key++;
最後
return
count/key
或:
double avg(int x[10][10])
{
int i,j,sum;
for(i=0;i<10;i++)
{
for(j=0;i<10;j++)
sum+=x[i][j];
}
return sum/((i+1)*(j+1));
}
(8)c語言二維數組的計算擴展閱讀:
函數作為另一個函數調用的實際參數出現。這種情況是把該函數的返回值作為實參進行傳送,因此要求該函數必須是有返回值的。例如: printf("%d",max(x,y)); 即是把max調用的返回值又作為printf函數的實參來使用的。在函數調用中還應該注意的一個問題是求值順序的問題。
⑨ 用C語言實現二維數組的相關運算
#include<stdio.h>
#define n 5
int a[n][n];//定義一個大小為n的二維數組,這里以n=5為例
void main()
{
int i,j;
printf("請逐行輸入矩陣:\n");
for(i=0;i<n;i++)
{
printf("第%d行:",i+1);
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}//這是手動對a[n][n]初始化
int sum1();
int sum2();
int sum3();//這些都是函數聲明
printf("%d,\t%d,\t%d",sum1(),sum2(),sum3());
}
int sum1()//用來計算邊緣元素之和
{
int s=0;
int i,j;
for(i=0,j=0;j<n;j++)
{s+=a[i][j];}
j--;i++;
for(;i<n;i++)
{s+=a[i][j];}
i--;j--;
for(;j>=0;j--)
{s+=a[i][j];}
j++;i--;
for(;i>0;i--)
{s+=a[i][j];}
return(s);
}
int sum2()//用來計算不相鄰元素之和
{
int s=0;
int i,j;
for(i=0;i<n;i++)
{
for(j=i%2;j<n;j+=2)
{s+=a[i][j];}
}
return(s);
}
int sum3()//用來計算對角線元素之和
{
int s=0;
int i;
for(i=0;i<n;i++)
{
s+=a[i][i];
s+=a[i][n-1-i];
}
if(n%2)
return(s-a[n/2][n/2]);//如果n為奇數,矩陣正中央的元素就被多算了一遍,所以要把它減掉
else
return(s);
}
⑩ c語言二維數組乘法和加法怎麼算的請舉例說明,順便說說使用條件吧。謝謝
在數學中,一個矩陣說穿了就是一個二維數組。一個n行m列的矩陣可以乘以一個m行p列的矩陣,得到的結果是一個n行p列的矩陣,其中的第i行第j列位置上的數等於前一個矩陣第i行上的m個數與後一個矩陣第j列上的m個數對應相乘後所有m個乘積的和。比如,下面的算式表示一個2行2列的矩陣乘以2行3列的矩陣,其結果是一個2行3列的矩陣。
031130*1+3*00*1+3*(-2)0*3+3*(-1)0-6-3
62*{0-2-1}={6*1+2*06*1+2*(-2)6*3+2*(-1)}={6216}