![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
現在C言語を勉強し始めたばかりなので
協力お願いします。
今回書きたいのは題名にある通り
実数の絶対値を求めるプログラミングです。
ソースは以下の通りです。
#include <stdio.h>
main(){
float x,z;
printf("Input Nonber\n");
scanf("%f",&x);
if( A >= B ) z=C
else z=D;
printf("Answer=\n",z);
}
この中で条件付するときの
A,B,C,Dをどうすればいいか分からないので
教えてください。
また書いているもので間違えなどがあれば
ご指摘していただけたら嬉しいです。
No.2ベストアンサー
- 回答日時:
>ということでしょうか?
はい、それで正解かと思います。
まあ、すごく厳密に書くならば、
> if(x>=0) z=x
→ if(x>=0.0f) z=x
あるいは
→ if(x>=(float)0) z=x
と書いておいた方が良いかもしれません。
単純に 0 と書くと、それは int の 0 を表していますので、コンパイル時に「型の違う比較」というwarningが出るかもしれません。
0.0f は、浮動小数点数値の0だという明示形式、(float)0 は、intの0をfloatに変換するよ、という形式です。
無事出力もできて実行も確認しました。
つい数回前にc言語の授業に入ったばかりなので
とてもためになります
回答ありがとうございました。
No.1
- 回答日時:
A,B,C,D とは、空欄で、そこを埋めよっていう問題なんでしょうね?
答えそのものを書いてもいいんですが…。
日本語で書くと、こうです。
(1)まず、入力された数が、0以上かどうか調べる。
(2)0以上ならば、絶対値は、入力された数値そのものです。
(3)そうでなければ、絶対値は、入力された数値に マイナス1をかけ、符号反転したものです。
※掛け算まで使わずに、単純に符号反転でいいんですが
ただまあ、そのプログラムを見て、
・x で入力値を受け取る
・z に計算結果を入れる
という理解をしなければいけません。
その上で、(1)~(3)を考えれば、わかるかもしれません。
----
問題文にちょっと誤りがあるようなので訂正しときます
>printf("Input Nonber\n");
→printf("Input Number\n");
# 単純なスペルミスなので本質的に影響ありません
>printf("Answer=\n",z);
→printf("Answer=%f\n",z);
# %f の指定で浮動小数点数値を表示しますから、それが無ければいくら計算しても結果表示されないことになっちゃいます。
回答ありがとうございます。
ということは
#include <stdio.h>
main(){
float x,z;
printf("Input Number\n");
scanf("%f",&x);
if(x>=0) z=x
else z=-x;
printf("Answer=%f\n",z);
}
ということでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Amazonで物を購入するときに住...
-
宀や广など、部首だけを入力す...
-
サクラエディタの入力補完機能...
-
フォトショプ でテキストを改行...
-
Accessの定型入力(000\\-0000;0;_)
-
Excelのワークシート上に配置し...
-
エクセルのチェックボックスを...
-
回覧板の日付について質問です...
-
「24日の0時」って・・・
-
VBAでエクセルシートを更新...
-
日付の大小の表現
-
エクセルで最高値、最低値の日...
-
「時間」、「期日」、「日付」...
-
Excel 隣のセルが空白以外の場...
-
Excel関数 「日付を入力...
-
エクセルの列が左右逆に・・・・
-
エクセルで数字から名前に変...
-
エクセルで空白のセルを探して...
-
履歴書の日付間違いで落ちますか。
-
パソコンで購入したデーターが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessで、定型入力を使って年...
-
宀や广など、部首だけを入力す...
-
Excelのワークシート上に配置し...
-
ATOKのポップアップを消したい
-
サクラエディタの入力補完機能...
-
セブンnowは駅前とかでも配達し...
-
Accessで24時間を超える時間の...
-
○○の何乗はどう入力?
-
UWSCで全角(ひらがな、カタカ...
-
Accessの定型入力(000\\-0000;0;_)
-
DIORのオンラインショップの購...
-
フォトショプ でテキストを改行...
-
Accessのデータ型の日付/時刻型...
-
graphvizの日本語文字化け対策
-
Musescore 2.1 で括弧つきナチ...
-
Dreamweaverのコードヒント?が...
-
ACCESSで年度入力したい...
-
住所入力支援を使用したくない...
-
初音ミク系のソフトは五連符な...
-
テキストボックス内で「しかく...
おすすめ情報