コマンドライン引数で?.666666...や.?333333....といった循環小数になる値を与えようと考えていましたが循環小数の状態でコマンドライン引数に与えるのは不可能と感じたため以下のようなシステムにしました。
プログラム内で3.3333333...といった値を使いたいときは、xにコマンドライン引数から3.33と入力し以下のコードを用いてxの値を3.33333333....に変更するという仕様になっております。
変数decimalsに0.66や0.33が入っていてもif文が機能してくれません。
アドバイスよろしくお願いいたします。
c
1 double decimals; 2 double x = atof(argv[1]); 3 4 decimals = modf(x,&seisu); 5 if(decimals == 0.66){ 6 x = (int)x + (2.0/3.0); 7 } 8 if(decimals == 0.33){ 9 x = (int)x + (1.0/3.0); 10 }
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。