No.2ベストアンサー
- 回答日時:
(1)
int n = 10, x = 3;
int amari = n - ((n / x) * x);
(2)
1. int n = 123; int res = (n / 100) * 100;
2. int n = 123; int res = ((n / 10) + (n % 10 ? 1 : 0)) * 10;
3. int n = 1234; int res = ((n / 1000) + (n % 1000 > 500 ? 1 : 0)) * 1000;
C です。こんなもんでどうでしょう?
この回答へのお礼
お礼日時:2002/09/30 22:50
ありがとうございます。
ちょっとお聞きしたいのですが、
(2)の2のところで、式の意味は分かるのですが、『?』と『:』の意味は何ですか?
あと、(2)の3の『>』の意味もよかったら教えてください。
No.4
- 回答日時:
>(2)の2のところで、式の意味は分かるのですが、『?』と『:』の意味は何ですか?
C言語の 三項演算子 といって、
A ? B : C
の A が真なら B の値、A が 偽 なら C の値をとるというものです。VB系なら iif 文と同じようなものです。ですから、
n % 10 ? 1 : 0
の場合、n を 10 で割った余りが 0 (偽)なら 0、余りが 0ではない(真)なら 1 の値を取ります。
n % 1000 > 500 ? 1 : 0
'>' は不等号記号です。n % 1000 が 500 より大きければ 1、500未満なら 0 の値を取ります。
ただ、この方法よりも #1 さんの回答の方がよいですね。それと、整数型で変数を宣言していることが前提で、#3さんのご指摘されていた 整数化の処理は省略しています。VB系や perl等、変数の型が不定の言語系では明示的にまるめないと期待通りの動作になりません。#蛇足ですが...
ちなみに三項演算子は「見にくい(解りにくい)」とよく言われ、余り好まれないようです。#私は好きなんですけどね(汗。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 10円の誤差が分からない 11 2022/11/13 07:25
- C言語・C++・C# C言語 3 2022/10/04 15:07
- その他(お金・保険・資産運用) 至急!【Wolt】各メニューの価格設定の簡単な計算方法 3 2023/03/05 11:58
- その他(プログラミング・Web制作) VBA 1 2023/01/19 16:19
- 金融業・保険業 もうすぐ大学の金融論の試験なのですが問題が全然解けません...泣 どなたか分かる方いたら教えてもらえ 1 2023/07/21 22:03
- 固定資産税・不動産取得税 確定申告 収支内訳書(不動産)の減価償却資産の法定耐用年数等について 1 2023/01/24 14:34
- その他(教育・科学・学問) 1980 年代後半のバブル経済の頃 日本では預貯金金利が年7%を超えることもあり ました。 金利を7 3 2023/07/21 00:31
- その他(プログラミング・Web制作) 【フローチャートの書き方について】 勤務年数と勤務場所を入力し,給与額を表示するフローチャートを作成 2 2022/10/04 12:11
- 借金・自己破産・債務整理 金銭消費貸借契約、延滞損害金の計算方法について教えて下さい。 6 2023/08/28 09:33
- 投資・株式の税金 一般口座で同一銘柄の総平均法のことで 1 2023/02/27 22:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
へんな現象
-
C言語 配列と関数の練習問題
-
C言語 エラーの原因がわからな...
-
c言語
-
std::set<int> で、ある値が何...
-
卒業研究でよく分からないとこ...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語プログラムについて質問です
-
C言語:アウトプット引数のキャ...
-
整数データの配列から同じ値の...
-
配列v2を逆順にしてv1に格納す...
-
C言語での引数の省略方法
-
あるプログラムの結果がうまく...
-
【至急】プログラムにエラーが...
-
C言語での奇数の和
-
足して100になるような乱数のア...
-
int型の変数値をバイト列として...
-
windows-findstrの正規表現を使...
-
systemの戻り値を取得する方法
-
乗換案内のC言語プログラムに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
「指定されたキャストは有効で...
-
C言語 配列と関数の練習問題
-
複数桁10進数の*桁目だけを抽出...
-
(int *)の意味
-
if と配列の組み合わせ
-
ラップ関数とはどんなものですか?
-
卒業研究でよく分からないとこ...
-
【C++】関数ポインタの使い方
-
c言語
-
足して100になるような乱数のア...
-
C言語初心者です、、、お助けく...
-
数字列を3桁ごとにカンマで区切...
-
C言語 エラーの原因がわからな...
-
実数の整数部,小数部の取得
-
課題でつまってます・・・
-
商と剰余を同時に求める(C言語)
-
C言語の配列をC++のvectorに高...
-
std::set<int> で、ある値が何...
おすすめ情報