c言語初心者です。わからないことがあってこまってます。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
rascal
記事: 27
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#31

投稿記事 by rascal » 11年前

おはようございます
>x%(x/10000*10000)だと思うのですが。%ってあまりを求める記号ですよね?
%はあまりを求める式です
xに実際に代入してみましょう たとえば24000
24000%(24000/10000*10000)=24000%24000=0
たとえば 32000
32000%(32000/10000*10000)=32000%32000=0
常に0になりますね
変数を2つ用意して考えてみてください

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#32

投稿記事 by みけCAT » 11年前

rascal さんが書きました:おはようございます
>x%(x/10000*10000)だと思うのですが。%ってあまりを求める記号ですよね?
%はあまりを求める式です
xに実際に代入してみましょう たとえば24000
24000%(24000/10000*10000)=24000%24000=0
たとえば 32000
32000%(32000/10000*10000)=32000%32000=0
常に0になりますね
変数を2つ用意して考えてみてください
C言語の整数演算では、小数点以下は切り捨てられます。
24000%(24000/10000*10000) = 24000%(2*10000) = 24000%20000 = 4000
32000%(32000/10000*10000) = 32000%(3*10000) = 32000%30000 = 2000
従って、このやり方で間違ってはいないと思います。
ただし、少し冗長ですね。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#33

投稿記事 by みけCAT » 11年前

rascal さんが書きました:おはようございます
>x%(x/10000*10000)だと思うのですが。%ってあまりを求める記号ですよね?
%はあまりを求める式です
%はあまりを求める演算子です。
%だけで式にはなりません。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#34

投稿記事 by カヌー » 11年前

つまり自分のやり方間違っているのでしょうか

アバター
usao
記事: 1889
登録日時: 12年前
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#35

投稿記事 by usao » 11年前

とりあえず No4のコードの後ろの方にでも

コード:

...
printf( "%d", amount%(amount/10000*10000) );  //自分の方法の結果を見てみる
とか書いて,実際に確認してみればどうでしょうか.

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#36

投稿記事 by カヌー » 11年前

わかりました。今日学校で確認します。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#37

投稿記事 by softya(ソフト屋) » 11年前

自分のPCに開発環境をインストールするとか、WEBサイトで確認するとか手は色々ありますよ。
http://ideone.com/
 ↑ Cを選んでソースコードを入力してRUN。

あとC言語の演算子なら教科書とか、検索してみるとかの方が早いですね。
なんでも聞くのではなくて、自分で調べてわからない部分を聞くのが掲示板の有効な使い方です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#38

投稿記事 by softya(ソフト屋) » 11年前

みけCAT さんが書きました:
rascal さんが書きました:おはようございます
>x%(x/10000*10000)だと思うのですが。%ってあまりを求める記号ですよね?
%はあまりを求める式です
%はあまりを求める演算子です。
%だけで式にはなりません。
みけCATさん、このコメントがカヌー さんを混乱させてますので、誰宛か明確に書いてくださいね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#39

投稿記事 by カヌー » 11年前

softya(ソフト屋) さんが書きました:自分のPCに開発環境をインストールするとか、WEBサイトで確認するとか手は色々ありますよ。
http://ideone.com/
 ↑ Cを選んでソースコードを入力してRUN。

あとC言語の演算子なら教科書とか、検索してみるとかの方が早いですね。
なんでも聞くのではなくて、自分で調べてわからない部分を聞くのが掲示板の有効な使い方です。
このサイトでNo.35のコードのamountを154000で確認してみたところ、結果は4000となったので○○円の部分を求める計算式としてあっているのではないのでしょうか

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#40

投稿記事 by softya(ソフト屋) » 11年前

確認は1つだけだとマズイと指摘されていましたよね。
もう幾つか確認してみましょう。こういうのがテストの基本と成ります。
私は問題となるパターンがあると思っています。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#41

投稿記事 by カヌー » 11年前

桁数を増やしたり、数字変えてもうまくいっているように思えるのですが。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#42

投稿記事 by softya(ソフト屋) » 11年前

じゃあ、0や1000は大丈夫ですか? これも仕様では許容する値ですよね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#43

投稿記事 by カヌー » 11年前

万単位で表すので1万以上が前提ではないのでしょうか

アバター
usao
記事: 1889
登録日時: 12年前
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#44

投稿記事 by usao » 11年前

>万単位で表すので1万以上が前提ではないのでしょうか

それは 課題を出した人とあなたとの間の取り決め なので,ここで回答されることでは無いですよね.
ただ,「1000円単位で」と言われたら,「OK,じゃあ1000円だけ」っていうのは普通の感覚では有りだと思います.
(No.4のコードでは1円貯金もできそうですし)

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#45

投稿記事 by softya(ソフト屋) » 11年前

カヌー さんが書きました:万単位で表すので1万以上が前提ではないのでしょうか
課題に値の範囲として、そう書いてあるならそれで良いと思います。仕様外なので対応しませんでしたって事です。
ただ、イレギュラーな値に耐えられないプログラムは業務用のプログラムとしては落第ですし、ゲームでも入力した値で異常終了したらっそのゲームは遊んでもらえないと思います。
つまり、仕様に通りでも都合の良い解釈をしすぎると仕事としてはダメだと言うことです。仕様に書いてないなら、なおのこと可能な範囲で対応すべきです。
それが気に食わないなら課題を出した人に文句を言いましょう。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#46

投稿記事 by カヌー » 11年前

usao さんが書きました:>万単位で表すので1万以上が前提ではないのでしょうか

それは 課題を出した人とあなたとの間の取り決め なので,ここで回答されることでは無いですよね.
ただ,「1000円単位で」と言われたら,「OK,じゃあ1000円だけ」っていうのは普通の感覚では有りだと思います.
(No.4のコードでは1円貯金もできそうですし)
そうですね。すみません。
では1万未満の数字と以上の数字の両方に対応する計算方法があるのでしょうか

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#47

投稿記事 by みけCAT » 11年前

貯金が負の場合にも対応できるといいですね。
(ゆうちょ銀行では実際に有り得るらしいです)
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#48

投稿記事 by softya(ソフト屋) » 11年前

カヌー さんが書きました:
usao さんが書きました:>万単位で表すので1万以上が前提ではないのでしょうか

それは 課題を出した人とあなたとの間の取り決め なので,ここで回答されることでは無いですよね.
ただ,「1000円単位で」と言われたら,「OK,じゃあ1000円だけ」っていうのは普通の感覚では有りだと思います.
(No.4のコードでは1円貯金もできそうですし)
そうですね。すみません。
では1万未満の数字と以上の数字の両方に対応する計算方法があるのでしょうか
if文は、こういう時のためにあります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#49

投稿記事 by カヌー » 11年前

softya(ソフト屋) さんが書きました:
カヌー さんが書きました:
usao さんが書きました:>万単位で表すので1万以上が前提ではないのでしょうか

それは 課題を出した人とあなたとの間の取り決め なので,ここで回答されることでは無いですよね.
ただ,「1000円単位で」と言われたら,「OK,じゃあ1000円だけ」っていうのは普通の感覚では有りだと思います.
(No.4のコードでは1円貯金もできそうですし)
そうですね。すみません。
では1万未満の数字と以上の数字の両方に対応する計算方法があるのでしょうか
if文は、こういう時のためにあります。
すみません。まだif文ならってません。次回習うと思います。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#50

投稿記事 by softya(ソフト屋) » 11年前

カヌー さんが書きました: すみません。まだif文ならってません。次回習うと思います。
それは予想外でした。
であるならば、実は余り計算の除数の側に変数が来ない計算方法があります。
すごく単純ですので考えてみてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
Tatu
記事: 445
登録日時: 14年前
住所: 北海道

Re: c言語初心者です。わからないことがあってこまってます。

#51

投稿記事 by Tatu » 11年前

a/bと書くとaをbで割った商を計算します
a%bと書くとaをbで割った余りを計算します。

たとえば
23/10ならば2と計算され、
23%10ならば3と計算されます。

23=10×2+3に対して
2と3を分離できています。

では、151000を15万1000円と表示するとき、
15と1000はどうやって求めればいいでしょうか。

アバター
usao
記事: 1889
登録日時: 12年前
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#52

投稿記事 by usao » 11年前

>x%(x/10000*10000)

うーん… なんと言えばいいのか……

x円のうち,○○万円 の部分をa,残りの1万円未満の部分がb円 だとすれば,
x = a * 10000 + b
ってことですよね.

b = x % (x/10000*10000)
としてbを求めようとしている↑の%を使ってる式というのは,つまるところ

b = ( a*10000 + b ) % ( a*10000 )

ということを書いてるわけですよ.
この形で見ると「別にそこ,わざわざ % とかいう扱いにくそうなのを持ってこなくてもよくね?」って思いますよね.

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#53

投稿記事 by softya(ソフト屋) » 11年前

このままだと混乱しそうなので補足しておきます。
計算方法としては2つあって、%を使う方法と使わない方法です。
私のは%を使う方法で、usaoさんのは除算を使って%を使わない方法だと思います。どちらも正解です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#54

投稿記事 by カヌー » 11年前

1万以下の数字の場合、◯万の部分には0と表示されればよいのでしょうか

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#55

投稿記事 by softya(ソフト屋) » 11年前

カヌー さんが書きました:1万以下の数字の場合、◯万の部分には0と表示されればよいのでしょうか
出題者ではないので「大丈夫ですよ」とまでは断言できません。
ただ、if文やそれに類するものが使えない縛りだと◯万があり・なしの2通りの表示は出来ません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#56

投稿記事 by カヌー » 11年前

コード:

#include <stdio.h>
int main(void)
{
	int amount=0, man, enn;
	double	tyokin;

	printf("現在の貯金額は, %d円です.\n今回はいくら貯金しますか? (単位:千円):", amount);
	scanf("%lf", &tyokin);
	amount=amount+(tyokin*1000);
	man=amount/10000;
    enn=amount%(amount/10000*10000);

	printf("\n現在の貯金額は, %d万%d円です.\n今回はいくら貯金しますか? (単位:千円):", man, enn);
	scanf("%lf", &tyokin);
	amount=amount+(tyokin*1000);
	man=amount/10000;
    enn=amount%(amount/10000*10000);

	printf("\n現在の貯金額は, %d万%d円です.\n今回はいくら貯金しますか? (単位:千円):",man, enn);
	scanf("%lf", &tyokin);
	amount=amount+(tyokin*1000);
	man=amount/10000;
    enn=amount%(amount/10000*10000);

	printf("\n全部で%d万%d円貯まりました.\nよくがんばりました.\n", man, enn);

	return 0;
}
このようなプログラムを作成したのですが、一万未満だとうまくいきません。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#57

投稿記事 by softya(ソフト屋) » 11年前

> このようなプログラムを作成したのですが、一万未満だとうまくいきません。

それは既にNo: 42で問題だと書いたので検討しませんか?って話になっていたと思いましたが。
No: 42 から No: 53 までその話ですよ。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#58

投稿記事 by カヌー » 11年前

はい。このプログラムで1万未満もうまくいく計算方法おもいつかないんですが

アバター
usao
記事: 1889
登録日時: 12年前
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#59

投稿記事 by usao » 11年前

私の方の続き:

>b = ( a*10000 + b ) % ( a*10000 )
>
>ということを書いてるわけですよ.
>この形で見ると「別にそこ,わざわざ % とかいう扱いにくそうなのを持ってこなくてもよくね?」って思いますよね.

もっとわかりやすく書けば,
「↓の等式を成立させるためには,□の箇所にどんな演算子を入れればよいでしょう?」ってことですね.
b = ( a*10000 + b ) □ ( a*10000 )

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#60

投稿記事 by softya(ソフト屋) » 11年前

もう、ここら辺はプログラムと言うよりも数学的な発想の問題ですかね。
因数分解とかも、同じように頭をひねると思うのですが。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#61

投稿記事 by カヌー » 11年前

usao さんが書きました:私の方の続き:

>b = ( a*10000 + b ) % ( a*10000 )
>
>ということを書いてるわけですよ.
>この形で見ると「別にそこ,わざわざ % とかいう扱いにくそうなのを持ってこなくてもよくね?」って思いますよね.

もっとわかりやすく書けば,
「↓の等式を成立させるためには,□の箇所にどんな演算子を入れればよいでしょう?」ってことですね.
b = ( a*10000 + b ) □ ( a*10000 )
−ですよね?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#62

投稿記事 by softya(ソフト屋) » 11年前

カヌー さんが書きました:]
−ですよね?
じゃあ、その視点でプログラムを書きなおしてみてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#63

投稿記事 by カヌー » 11年前

a万の aを求める時、1万未満を0と表示させ、1万以上を正しく表示させるのできないと思うんですが

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#64

投稿記事 by softya(ソフト屋) » 11年前

カヌー さんが書きました:a万の aを求める時、1万未満を0と表示させ、1万以上を正しく表示させるのできないと思うんですが
そのダメなプログラムを書いてダメなことを実証してみてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#65

投稿記事 by カヌー » 11年前

softya(ソフト屋) さんが書きました:
カヌー さんが書きました:a万の aを求める時、1万未満を0と表示させ、1万以上を正しく表示させるのできないと思うんですが
そのダメなプログラムを書いてダメなことを実証してみてください。
どういうことでしょう

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#66

投稿記事 by softya(ソフト屋) » 11年前

> どういうことでしょう

私はダメだと思っていないので、「1万以上を正しく表示させるのできないと思うんですが」を説明 or 証明してください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#67

投稿記事 by カヌー » 11年前

自分が思いつかないのでできないと思うだけです。-、+、×、÷、%だけの記号で可能ならば、教えてほしいです。

アバター
usao
記事: 1889
登録日時: 12年前
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#68

投稿記事 by usao » 11年前

なんというか,毎回の書き込みが端的すぎて情報不足というか.
もうすこし具体的な状況を示されるとよいのではないでしょうか.

あなたが示したコード:

コード:

//一部抜粋
printf("現在の貯金額は, %d円です.\n今回はいくら貯金しますか? (単位:千円):", amount);
scanf("%lf", &tyokin);
amount=amount+(tyokin*1000);
man=amount/10000;
enn=amount%(amount/10000*10000);
では,一万未満の値のとき,「何が/どんなことが 起こるから」うまくいかない(具体的にどうなった?)のか?

で,
>−ですよね?
というところまでわかっているのだから,

コード:

enn=amount%(amount/10000*10000);

コード:

enn=amount - (amount/10000*10000);  //%を-に変更した
という式に変えてみたら,状況はどう変わる/変わった のか?

とか.
オフトピック
こんなことを書くと 大変失礼かとは思うのですが,
現状,「C言語がどうの」という状態ではなく,単なる「算数」の話なんですよね.「数学」というよりも……

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#69

投稿記事 by カヌー » 11年前

usao さんが書きました:なんというか,毎回の書き込みが端的すぎて情報不足というか.
もうすこし具体的な状況を示されるとよいのではないでしょうか.

あなたが示したコード:

コード:

//一部抜粋
printf("現在の貯金額は, %d円です.\n今回はいくら貯金しますか? (単位:千円):", amount);
scanf("%lf", &tyokin);
amount=amount+(tyokin*1000);
man=amount/10000;
enn=amount%(amount/10000*10000);
では,一万未満の値のとき,「何が/どんなことが 起こるから」うまくいかない(具体的にどうなった?)のか?

で,
>−ですよね?
というところまでわかっているのだから,

コード:

enn=amount%(amount/10000*10000);

コード:

enn=amount - (amount/10000*10000);  //%を-に変更した
という式に変えてみたら,状況はどう変わる/変わった のか?

とか.
オフトピック
こんなことを書くと 大変失礼かとは思うのですが,
現状,「C言語がどうの」という状態ではなく,単なる「算数」の話なんですよね.「数学」というよりも……
1万未満の数字を入力するとエラーがおきます。-に変えても1万以上の数字は同じ結果になりました。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#70

投稿記事 by softya(ソフト屋) » 11年前

> -に変えても1万以上の数字は同じ結果になりました。

カヌー さんにとっては問題でも、、こちらにはどういう問題なのか分からないのですが?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#71

投稿記事 by カヌー » 11年前

もう課題締め切りなんで1万未満の表示はあきらめます。
答えてくれたみなさんありがとうございました。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#72

投稿記事 by softya(ソフト屋) » 11年前

万円の問題は、No.55で出来ないと回答したつもりですが。
http://dixq.net/forum/viewtopic.php?f=3 ... 30#p120549
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#73

投稿記事 by カヌー » 11年前

softya(ソフト屋) さんが書きました:万円の問題は、No.55で出来ないと回答したつもりですが。
http://dixq.net/forum/viewtopic.php?f=3 ... 30#p120549
printf("%d万%d円", a, b)の時に、例えば151000なら、15万1000円と表示され、9000なら
0万9000円と表示されるようなa、bの計算方法があるという話ではないのでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#74

投稿記事 by softya(ソフト屋) » 11年前

カヌー さんが書きました:
softya(ソフト屋) さんが書きました:万円の問題は、No.55で出来ないと回答したつもりですが。
http://dixq.net/forum/viewtopic.php?f=3 ... 30#p120549
printf("%d万%d円", a, b)の時に、例えば151000なら、15万1000円と表示され、9000なら
0万9000円と表示されるようなa、bの計算方法があるという話ではないのでしょうか?
え? それが出来ていないのですか?
問題の有るソースコードを見せて頂かないと問題点が分かりません。
カヌーさんの頭のなかに有るコードは、こちらからは想像できませんので。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
usao
記事: 1889
登録日時: 12年前
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#75

投稿記事 by usao » 11年前

>printf("%d万%d円", a, b)の時に、例えば151000なら、15万1000円と表示され、9000なら
>0万9000円と表示されるようなa、bの計算方法があるという話ではないのでしょうか?

あれ? その計算方法を書いてたつもりだったのですが……

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#76

投稿記事 by カヌー » 11年前

softya(ソフト屋) さんが書きました:
カヌー さんが書きました:
softya(ソフト屋) さんが書きました:万円の問題は、No.55で出来ないと回答したつもりですが。
http://dixq.net/forum/viewtopic.php?f=3 ... 30#p120549
printf("%d万%d円", a, b)の時に、例えば151000なら、15万1000円と表示され、9000なら
0万9000円と表示されるようなa、bの計算方法があるという話ではないのでしょうか?
え? それが出来ていないのですか?
問題の有るソースコードを見せて頂かないと問題点が分かりません。
カヌーさんの頭のなかに有るコードは、こちらからは想像できませんので。
No.56にはったコードなんですが。それだと0万9000円のような表示はできません。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#77

投稿記事 by softya(ソフト屋) » 11年前

> No.56にはったコードなんですが。それだと0万9000円のような表示はできません。

それにusaoさんの提案を適用すれば何の問題もないはずですが?
やはり、カヌーさんの頭のなかに有るコードと私達の考えていたコードは食い違うようです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#78

投稿記事 by カヌー » 11年前

あれ?サイトでためしてみたら%を-に変えてうまくできました。
学校だとエラーでたきがしたんですが...

usaoさん、ソフト屋さん、すみませんでした。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#79

投稿記事 by softya(ソフト屋) » 11年前

カヌー さんが書きました:あれ?サイトでためしてみたら%を-に変えてうまくできました。
学校だとエラーでたきがしたんですが...

usaoさん、ソフト屋さん、すみませんでした。
人間はミスをするので、基本的に信用してはいけません。
信用出来ない自分のプログラムのバグが無いか確認する事がテストの基本原則です。

こんな有名な格言があります「プログラムは思った通りに動かない。書いた通りに動く。」
つまり、思ったように動かないなら書いたプログラムをまず疑えって事です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#80

投稿記事 by みけCAT » 11年前

課題締切ということなのでぶっちゃけて書かせていただきますが、amountが非負なら素直に

コード:

man = amount / 10000;
enn = amount % 10000;
でいいと思いますが、何かダメな理由がありますか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

ただの屍のようだ

Re: c言語初心者です。わからないことがあってこまってます。

#81

投稿記事 by ただの屍のようだ » 11年前

IT技術者になるのでしたら、口よりもコードに語らせたほうがいろんな意味で手っ取り早いです。

『 ただひたすら歩み続け、知識を吸収し、スキルを上達させ、それでも世界が思い通りにならないのなら、
 思う存分に蓄えた、その”力”をもって、世界を潰してしまえばいいですよ。
 学者にも政治家にもできないことを、”ハッカー”ならいとも容易く実行できてしまいます。
 同じ道を進む”卵”をみるのは、とても愉快なことです。』
最初に私に道を示したものからの言葉です、ぜひがんばってハッカーを目指してみてください。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: c言語初心者です。わからないことがあってこまってます。

#82

投稿記事 by softya(ソフト屋) » 11年前

みけCAT さんが書きました:課題締切ということなのでぶっちゃけて書かせていただきますが、amountが非負なら素直に

コード:

man = amount / 10000;
enn = amount % 10000;
でいいと思いますが、何かダメな理由がありますか?
私は、どっちでも良いと思います。
もう片方を否定する理由は無いと思いますので。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

カヌー
記事: 45
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#83

投稿記事 by カヌー » 11年前

なんか心に残る言葉なども残していただきみなさんありがとうございます!
ほんとみなさんありがとうございました!

rascal
記事: 27
登録日時: 11年前

Re: c言語初心者です。わからないことがあってこまってます。

#84

投稿記事 by rascal » 11年前

おはようございます

失礼しました
カヌーさんを混乱させたみたいで申しわけなかったです

閉鎖

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