gooポイントが当たる質問投稿キャンペーン>>

C言語

文字を入力させて
入力された数字の絶対値を表示するプログラムを作りなさい。

よくわかりません。

-3などと入力されたら
3と表示するらしいです。

使っていいもの
printf
scanf
if
else
for
選んで使いなさい。

よろしくお願いします

質問者からの補足コメント

  • 入力値が0より小さいときにif文にとーして-をかけるとかですかね?
    大きい場合は無視で

    パソコンがないのでわかりません。
    教えてください。

      補足日時:2018/07/25 01:59

A 回答 (3件)

#include <stdio.h>


#include <stdlib.h>

int main(void) {
 char s[3];
 scanf("%2s%*[^\n]", s);
 printf("%d\n", abs(atoi(s)));
 return 0;
}
    • good
    • 0

main は使っちゃダメなのかなぁ....



「パソコンがないのでわかりません。」とはどういうことでしょうか. 「パソコンがない」ので*なにが*「わからない」, というのでしょうか?
    • good
    • 0

1. 文字列を入力する



2. 入力した文字列が、数値なのか、数値でない文字 xyz など なのか判別する。
 また数値であっても全角数値3と半角数値3でも文字列として扱いが変わる。
 -3 と書くかスペースを挟んで - 3 と書くかでも扱いが変わる。
 こうした文字列の入力ルールを、厳格に定義する(仕様を決める)

3. 文字列型としての数値を、数値型に変換する。
4. 数値の絶対値を取って return する。


ちなみに
printf
scanf
if
else
for
以外にも様々な関数を使います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Qこのプログラミングの問題がいくら考えてもわかりません。for文とif文を組み合わせて使うと言われたの

このプログラミングの問題がいくら考えてもわかりません。for文とif文を組み合わせて使うと言われたのですが、よろしければ教えてください

Aベストアンサー

No.1です、
念のための追加です。

日本語で「〇〇の値が××だったら、、、。そうでなかったら~。」といった表現で書かれたものが多くのプログラミング言語ではifを用いた処理になります。
同じく「〇〇の値が××になるまで、、、を繰り返す。」といった表現で書かれたものfor文やwhile文を用いた処理になります。

参考まで。

Qc言語について

このプログラムは(ありがとう)を5回入力するのですが、n<5だと4回しか表示されないと思うのですが、どうなんでしょうか。

Aベストアンサー

forループの1回目のnの値は0なのでprint文を実行。
2回目は1なのでprint文を実行。
3回目は2なのでprint文を実行。
4回目は3なのでprint文を実行。
5回目は4なのでprint文を実行。
6回目は5なのでループを抜ける。

参考まで。


[おまけ]
print文の次の行の}はforの下に来るようにした方が可読性が高いです。
同様にreturn文の次の行の}は3行目の{と同じ位置にした方が可読性が高いです。
そうすると全体として{から}までの範囲を直観的に理解できてソースコードを読むのが楽になります。

QC言語のものなのですが、具体的にこの文がなにをしているかについてわからないので説明をお願いいたします

C言語のものなのですが、具体的にこの文がなにをしているかについてわからないので説明をお願いいたします。

Aベストアンサー

画像じゃなく、テキストで貼ってほしいところですが…。
で、掲示されている範囲ではs_copy()とs_reverse()の仕様が不明です。
# まぁ、名前からだいたい想像は付きますけども。

ということで、下記のページをどうぞ。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13182921508


人気Q&Aランキング