2016-12-27 71 views
1

我需要構建一個矩陣。我需要使用雙數據類型。與此同時,用戶將輸入數據 。但是當數據輸入時,編譯器程序會說:「陣列子集不是整數」。但我需要使用雙重數據。矩陣中的雙數據類型


#include <stdio.h> 
#include <stdlib.h> 

int main(int argc, char *argv[]) { 
    double matris[3][4]; 
    double i; 
    double j; 
    printf("Please Enter Number for Matris:\n"); 
    for (i = 0; i < 3; i++) { 
     for (j = 0; j < 4; j++) { 
      scanf("%lf", &matris[i][j]); 
     } 
    } 
    for (i = 0; i < 3; i++) { 
     for (j = 0; j < 4; j++) { 
      printf("%f", &matris[i][j]); 
     } 
    } 
    return 0; 
} 

+1

您需要'雙'的項目,而不是索引。 –

+0

你真的需要格式化你的代碼,但真的 –

+0

然後你應該讓它們成爲整數。 – user3528438

回答

0

數組下標是如何索引到一個數組。 它與數組中數據的類型不同。

此外,請注意格式說明符以及之後輸出數組時打印的內容。不要打印地址。

int main() { 
    double matris[3][4]; 
    int i;//<------ 
    int j;//<------ 


    printf("Please Enter Number for Matris:\n"); 

    for (i = 0; i < 3; i++) { 
     for (j = 0; j < 4; j++) { 
      scanf("%lf", &matris[i][j]); 
     } 
    } 


    for (i = 0; i < 3; i++) { 
     for (j = 0; j < 4; j++) { 
      printf("%f ", matris[i][j]); //<------ 
     } 
     printf("\n"); 
    } 

    return 0; 
} 
+0

在printf(「%f」,matris [i] [j])行中寫入%f代替%lf是否正確? ;' –

+0

@ Sanjay-sopho我相信如此(scanf是不同的)http://stackoverflow.com/questions/4264127/correct-format-specifier-for-double-in-printf – doctorlove

+0

謝謝。清理了一些東西。 –