無題

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
kurei

無題

#1

投稿記事 by kurei » 15年前

C始めて2週間の初心者です。
普通1+9=10ですが、1+9=0となるようにあらかじめ設定することってできますか?

softya

Re:無題

#2

投稿記事 by softya » 15年前

>普通1+9=10ですが、1+9=0となるようにあらかじめ設定することってできますか?
予め設定する事はできませんが、そういう計算式は作れます。
printf( "%d", (1+9)%10 );
10で割ったあまりを使う事で、計算結果が0~9の間に収めることが出来ます。

初級者

Re:無題

#3

投稿記事 by 初級者 » 15年前

あらかじめ設定する、の意味がわかりません。

ご提示の式はいいとして、
他のケースはどういう結果を想定されていますか?

kurei

Re:無題

#4

投稿記事 by kurei » 15年前

softyaさんありがとうございます。
逆に0-1=9という計算式をつくることはできますか?
良い案が浮かびません。

初級者

Re:無題

#5

投稿記事 by 初級者 » 15年前

そういった個別のケースをもとに、
一般化する予定があるのですか?

今後も、個別のケースに関する質問の予定がありますか?
何が満たされれば、一連の質問が終わりますか?

conio

Re:無題

#6

投稿記事 by conio » 15年前

んー
0~9の間で値を循環させたいという事でしょうか?

それならば、増加させる場合・減少させる場合は
それぞれ下記のようにして実現できます。
---------------------------------------
Num = (Num + 1) % 10 //1ずつ増える 9の次は0になる
Num = (Num + 9) % 10 //1ずつ減る  0の次は9になる
---------------------------------------

バグ

Re:無題

#7

投稿記事 by バグ » 15年前

0-9だけでよいのですか?
1-7とか、5-6なんかの他のケースは想定しなくても構わないのですか?

softya

Re:無題

#8

投稿記事 by softya » 15年前

例えば、
int a,b,num;
として、
aとbが-9~9の値の範囲だと限定できるなら
num=(20+a+b)%10;
の式で計算できます。
a=0;b=-1;
num=(20+0-1)%10;
num=9;
です。

閉鎖

“C言語何でも質問掲示板” へ戻る