※ ChatGPTを利用し、要約された質問です(原文:scanf関数で入れた値がうまく計算されません。)
scanf関数で入れた値がうまく計算されません
このQ&Aのポイント
3×3行列の行列式を計算するプログラムがうまく動作しません。
コンパイルは通ってエラーは出ませんが、計算結果が正しく表示されません。
行列の要素に0.9を代入しても、結果が意図したものとは異なります。
3×3行列を定義してその行列式を計算するというプログラムを
作ろうと思っていろいろ試しています。
そこでわからないことが出てきたので質問させてください。
次のようなプログラムを書き、コンパイルしました。
#include <stdio.h>
int main(void){
int i;
int k;
double x[3][3];
double det;
for(k=0;k<3;k++){
for(i=0;i<3;i++){
scanf("%f",&x[k][i]);
}
}
det=x[0][0]*x[1][1];
printf("%f",det);
return 0;
}
これで
すべてのx[][]9個全部に0.9と代入してもとなぜか
detの結果として表示されるものが
「-8567200000000000000.00000」等となってしまいます。
コンパイルは通ってエラーは出ません。
なぜだかおわかりになられる詳しい方おりましたら、アドバイスいただけたらと思います。よろしくお願いいたします。
お礼
初歩的なミスでした。ありがとうございました!