c 語言求兩個 M N 陣列的總和,這是錯誤的

發布 科技 2024-08-20
11個回答
  1. 匿名使用者2024-02-01

    #include ""

    void main()

    int m,n;

    int i,j;

    int a[100][100],b[100][100],c[200][200];

    printf("請輸入矩陣的行和列");

    scanf("%d,%d",&m,&n);

    printf("請為 %d 行 %d 列輸入矩陣 a",m,n);

    for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);

    printf("請輸入矩陣 b 作為 %d 行 %d 列",m,n);

    for(i=0;ifor(j=0;jscanf("%d",&b[i][j]);

    for(i=0;ifor(j=0;jc[i][j]=a[i][j]+b[i][j];

    printf("A+B 結果為:");

    for(i=0;ifor(j=0;jprintf("%-3d",c[i][j]);

    printf("");

    錯誤 1:宣告的變數必須位於表示式之前。

    錯誤 2:宣告陣列時,需要宣告其長度。

  2. 匿名使用者2024-01-31

    認為第三個矩陣沒有初始化,系統會給它乙個預設的隨機值(通常是乙個大的負數),你應該開始將其全部歸零。

  3. 匿名使用者2024-01-30

    最主要的是定義陣列時使用變數。

    事實上,您可以定義乙個動態的兩位數陣列。

    int m,n;

    printf("請輸入矩陣的行和列");

    scanf("%d,%d",&m,&n);

    int **a;

    a=(int **malloc( m*sizeof(int *) 定義第一列。

    for(int i=0;ia[i]=(int *)malloc(n*sizeof(int )) 定義行。

    這樣你就不會出錯。

  4. 匿名使用者2024-01-29

    必須首先定義陣列的長度。

  5. 匿名使用者2024-01-28

    如果陣列不是動態分配的,則 m>0 和 n>0

    如果是動態陣列,則 m>=0, n>=0; 即使是 m<0,n<0 情況也允許在未定義的訪問上。

  6. 匿名使用者2024-01-27

    使用 malloc 實現它:

    int m,n;

    int i,j;

    int *p;

    scanf("%d%d",&m,&n);

    p=(int *)malloc(sizeof(int)*m*n);

    p+m*i+j) 等價於元素 for(i=0; i

    int main(void)

  7. 匿名使用者2024-01-26

    #include

    #include

    int main()

    int n,m,i,j;

    int a[4][4];

    int row=0,col=0;

    int min=100000;給 min 乙個足夠大的數字 printf("請輸入 n 和 m");

    scanf("%d%d",&n,&m);

    printf("請輸入 n 行和 m 列的陣列");

    for( i=0;i

  8. 匿名使用者2024-01-25

    int i,j,n,m;

    int min,h,l;min、h、l表示最小值,行下標和列下標分別為下標。

    int a[,]

    for(i=0;i a[i,j]}

  9. 匿名使用者2024-01-24

    這個問題有很多方法可以處理,關鍵要看你是一次移動乙個倉位還是多倉位,如果是乙個倉位,那麼就設定乙個tmp變數,如果一次移動多個倉位,那麼就需要設定另乙個陣列一次移動乙個倉位, 那麼在乙個迴圈中移動 m 次就好了,for(i=0; 如果我移動了多個位置,那麼最好為 (i=0; ib[i+n-m]=a[i];

    for(i=m;ib[i]=a[i-m];

  10. 匿名使用者2024-01-23

    for(i=0;iscanf("%d ",p);

    你沒有看到迴圈末尾的分號嗎? 這將進入乙個空迴圈,這意味著您只輸入陣列的最後乙個值。 scanf("%d ",p);不要在 %d 後面新增空格。 沒有其他問題。

    for(i=0;iscanf("%d",p);

  11. 匿名使用者2024-01-22

    void main ()

    printf("請輸入您要交換的號碼:");

    scanf("%d",&m);

    printf("%d ",m);

    xs(p,a,n,m);

    void xs(int *p,int a[100],int n,int m) 沒有改變,但如果直接在函式中使用 p+m+j 是有可能越線的,所以應該限制它。

    for(j=0;jprintf("%d ",*p);

相關回答
5個回答2024-08-20

*略有修改的 Eagle 遊戲*

#include >>>More

27個回答2024-08-20

如果要接受 A 陣列中的所有數字,而 B 只接受滿足條件的數字,則會使 B 無法正常輸出,在這種情況下,初始化 B 並包含 >>>More

5個回答2024-08-20

我認為如此:

#include >>>More

5個回答2024-08-20

#include

我沒有寫完會議以找到最大值。 >>>More