
No.7ベストアンサー
- 回答日時:
★アドバイス
>-1*subという書き方はしませんか?
↑
絶対値を表示する計算式は間違ってはいません。
でも最後の printf 行の『絶対値』を表示するときの sub 変数は絶対値に
なっていないのでこの質問的には間違いです。
>エラーがでてしまうのですが、…
↑
エラーが出ますか?
補足のソースには全角空白文字が混じっています。
エラーはこのせいでしょう。
・ここではサンプル・ソースのインデント部を全角空白の文字で書き込みます。
だからコピー&ペーストするときにはエディッタなどの置換命令で半角空白の文字に
一括変換して下さい。
本題:
・『-1*sub』は絶対値の計算式としてはあっていますが、sub 変数に代入されていません。
だから sub 変数に『-1*sub』を代入すれば良いです。
つまり
sub = (-1 * sub);
を if-else のブロックで記述します。
ゼロ以上の場合は特に記述する必要はないですが分かりやすく
sub = (+1 * sub);
などを対応して書いておくのも良いですね。
この辺は自由ですが…。
・ちなみに if-else のブロック内では printf の記述はなくて良いのではないでしょか?
最後の1行の printf で絶対値の sub 変数を書き出しているので。
・以上。出来たらソースを貼り付けて下さい。見ます。
この回答への補足
sub=(1*sub);
sub=(-1-*sub);
を
#include<stdio.h>
int main( void )
{int a, b, sub;
scanf( "%d", &a );
scanf( "%d", &b );
sub = a - b;
sub=(1*sub);
sub=(-1-*sub);
if (sub >=0 )
{printf("%d",sub);
}else{printf("%d",-1*sub);
}printf( "絶対値=%d\n", sub );
return 0;} のどこに入れますか?
if elseの中にそれぞれ入れてもエラーがでます。
全て半角にしました。
No.6
- 回答日時:
★アドバイス
・まずは質問のタイトルから入ります。
>整数を二つ読み込み、それらの差の絶対値を書き出すプログラム
↑
これはそのまま
>これは数学での絶対値同様、例えば
>2 -5 と入力したら7と出て、
>2 5と入力したら3と出るものですか?
↑
この考えていいと思います。
『差』を求めたらその値に対して数学での絶対値を書き出せば良いのです。
・プログラミングの流れを書きますと
(1)scanf() 関数などで2つの整数を読み込む
(2)読み込んだ整数の『差』を求める
(3)『差』の絶対値を計算する
(4)絶対値を printf などで書き出す
これだけです。
ここで重要なのはきっと『差』の値が負か、正かを分岐して負なら -1 を掛けるか、
abs() という絶対値を計算してくれる関数を使います。abs() 関数を使うかどうかは
個人の自由です。あるは課題などで使う、使わないの指示通りにして下さい。
・下にサンプルを載せときます。
サンプル:
int main( void )
{
int a, b, sub;
// 2つの整数を読み込む
scanf( "%d", &a );
scanf( "%d", &b );
// 差を求める
sub = a - b;
// 差の絶対値
if ( 条件式 ){
…記述…
}
else{
…記述…
}
// 結果を書き出す
printf( "絶対値=%d\n", sub );
return 0;
}
以上。『条件式』や『…記述…』は埋めてみましょう。
この回答への補足
#include<stdio.h>
int main( void )
{int a, b, sub;
scanf( "%d", &a );
scanf( "%d", &b );
sub = a - b;
if (sub >=0 ){
printf("%d",sub); }
else{printf("%d",-1*sub);}
printf( "絶対値=%d\n", sub );
return 0;}
でエラーがでてしまうのですが、-1*subという書き方はしませんか?
No.5
- 回答日時:
#2です。
プログラムというのは、#1の方のやり方と私が#2で答えたやり方が違うように、考え方によって何通りでもできるものです。(この『考え方』がアルゴリズムです。)
今回、課題などで『整数を2つ読み込み、それらの差の絶対値を書き出すプログラムを作りなさい』と言われたのなら、それは質問でおっしゃっているように数学での絶対値を出力するものを作成すれば良いと思います!
No.4
- 回答日時:
>2 -5 と入力したら7と出て、2 5と入力したら3と出るものですか?
確かに少し曖昧な問題ですが、私的には
2つ整数の差と言っているので計算としては
2 - (-5) = 7
2 - 5 = -3
つまりこれらの絶対値である、7 と 3で良いと思います。
#課題なら出した人にどっちか聞いてみた方が早いかと。
>そうすると、答えが負にならないようにするのですか?
絶対値とは0からどれだけ離れた数値を表すものなので、
符号はつきません。(ここでいう符号とは+-を意味します)
・+1は0から 1 はなれた数値である
・-1は0から 1 はなれた数値である
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- C言語・C++・C# 至急お願いします。C言語で.imgのファイルを読み込んで1バイトづつ出力するプログラムを作りたいので 3 2023/01/16 22:49
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- Excel(エクセル) Excel上で分からないことがあります。 他のシートからコピー→貼り付けしたのですが図のようになって 4 2023/05/29 19:16
- Java Java 年数計算 3 2023/01/28 10:52
- Ruby プログラミング 3 2023/06/09 14:30
- Visual Basic(VBA) 入力と同時に桁数を詰める 3 2022/09/11 20:23
- Java java 入力された文字列を数値に置き換えて整数にし、計算をしたいです。 <を10として /を1とし 4 2022/05/16 21:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プロシージャまたは関数の引数...
-
パーソナルXLSBのfuctionを呼び...
-
整数を二つ読み込み、それらの...
-
【VBScript】変数のスコープ
-
HTML + VBScript で Sleep でき...
-
【VB6.0】 あるフォームから他...
-
ExcelのVBA。Staticな変数について
-
【HTML、VBScript】HTAアプリケ...
-
VBA public変数はどのようなこ...
-
C#のループでtextboxに値を入れ...
-
アクセスできない保護レベルエ...
-
【VB.NET】テキストボックスに...
-
エクセルVBAでテキストボッ...
-
他のフォームから別のフォーム...
-
ExcelVBAで他のファイル(proje...
-
コンボボックスのClickイベント
-
VB.NETでのイベントの途中終了
-
共有フォルダの「共有のアクセ...
-
チェックボックスを操作できな...
-
VB.NET コンボボックスからのit...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パーソナルXLSBのfuctionを呼び...
-
【VB6.0】 あるフォームから他...
-
プロシージャまたは関数の引数...
-
定数を構造体で・・・
-
PL/SQLのプロシージャ間でカー...
-
HTML + VBScript で Sleep でき...
-
【HTML、VBScript】HTAアプリケ...
-
変数の宣言はすべきでしょうか...
-
Excel VBA カーソルを当てた際...
-
subを連続で実行する
-
VB2010からPROCEDUREを実行でエ...
-
VB6のFriendについて
-
Callで呼び出したプロシージャ...
-
ExcelのVBA。Staticな変数について
-
整数を二つ読み込み、それらの...
-
プログラムの素朴な質問です 分...
-
ArrayListに格納したクラス内の...
-
プロシージャを呼び出したプロ...
-
【VBScript】変数のスコープ
-
VBA public変数はどのようなこ...
おすすめ情報