【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※マルチポスト(多重投稿)は謹んで!

 詳しくはこちら



 本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール   掲示板2こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.19181

数字計算
投稿者---にっと(2005/01/14 00:08:23)


8 2 10 3 4 5 6 7 8 9・・・(最後Enter)
という風に数字、スペース、数字という風に
たくさんの数字を入力し、足し算を行うという
プログラムをつくりたいのですが、今は

scanf("%d %d %d %d %d\n",・・・);

という、scanfで入力分格納して計算を行う方法
しか思いうかびません。

なにかいい方法教えてください。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:数字計算 19184 RAPT 2005/01/14 01:01:45
<子記事> Re:数字計算 19185 あかま 2005/01/14 01:05:59
<子記事> Re:数字計算 19186 Blue 2005/01/14 01:12:37


No.19184

Re:数字計算
投稿者---RAPT(2005/01/14 01:01:45)


fgets()でまとめて取得し、sscanf()で解析するのが常套手段です。



この投稿にコメントする

削除パスワード

No.19185

Re:数字計算
投稿者---あかま(2005/01/14 01:05:59)


scanf("%d",&a);
をwhileで入力失敗するまでまわせば入力数分取得できますよ。
入力の成功失敗は戻り値で。


この投稿にコメントする

削除パスワード

No.19186

Re:数字計算
投稿者---Blue(2005/01/14 01:12:37)


>8 2 10 3 4 5 6 7 8 9・・・(最後Enter)
>という風に数字、スペース、数字という風に
>たくさんの数字を入力し、

ということなので、

getsで取得 → スペース区切りで分解(strtok) → atoiなどで数値に変換

てな手もありそうですね。


この投稿にコメントする

削除パスワード

No.19187

Re:数字計算
投稿者---BB(2005/01/14 01:29:11)


> getsで取得 → スペース区切りで分解(strtok) → atoiなどで数値に変換
getsはバッファ・オーバーが怖いのでやめた方がいいかと思います。
PARTさんが言うようにfgetsを使うべきです。


この投稿にコメントする

削除パスワード

No.19188

Re:数字計算
投稿者---Blue(2005/01/14 01:54:00)


>getsはバッファ・オーバーが怖いのでやめた方がいいかと思います。
>PARTさんが言うようにfgetsを使うべきです。

そうですね。
getsの仕様を間違えていました。取得サイズは設定できないでした。
fgetsを使用すべきでした。



この投稿にコメントする

削除パスワード

No.19213

Re:数字計算
投稿者---にっと(2005/01/14 22:46:17)


みなさんありがとうございます!


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧