C言語 プログラミング
ごめんなさい。間違いの指摘をお願いします。
関数はこのままでお願いします
/* 等比数列を求めるプログラム */
#include <stdio.h>
#include <math.h>
int main()
{
double a, b, c, result;
int n;
printf("初項を入力してください:");
scanf("%lf", &a);
printf("公比を入力してください:");
scanf("%lf", &b);
printf("項数を入力してください:");
scanf("%d", &n);
c = pow ( b, n-1 );
for (int i=0; i<n; i++){
printf("%f\n",a);
a*c;
}
return 0;
}
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
> 間違いの指摘をお願いします。
> 関数はこのままでお願いします
おお、最近では珍しく潔いですね(笑)。
では。
ぶっちゃけた話、forが要りません。pow関数を使う限り、繰り返しをする必要がないのです。
つまり、「プログラムがどーの」って話じゃなくって、数学的に
「等比数列の式を定義通りに組み立てれば良いだけ」
なんで、例えば
printf("%f\n", a*pow(b, n-1));
でもすれば充分でしょう。
あと、pow関数の項数(n)は基本的にdouble型なんですが・・・・ここは自動でキャストしてくれるのかな?
いずれにせよ、
1. pow関数を使う(非常にアタマの良い選択です)なら繰り返しは要らない
2. 逆に繰り返しを使え、と言う指定ならpow関数が要らない
と言う事ですね。
No.2
- 回答日時:
・for の中, 「a*c;」ってなにをしている?
・result って変数はどこで使っている?
・公比 0, 項数 1 を入れるとアウト.
・そもそも「等比数列を求める」が意味不明.
No.3
- 回答日時:
間違いの指摘というよりは、途中で力尽きた感じがしましたので、
できるだけシンプルな形で、動作するものにしました。
(こちらでは、scanfをscanf_sに変更の上、Visual studio 2017で動作確認済)
以下がそちらで動作しましたら、プログラムを見比べて頂いて、
おかしかった箇所に気づいて下さればと思います。
/* 等比数列を求めるプログラム */
#include <stdio.h>
#include <math.h>
int main()
{
double a, b;
int n;
printf("初項を入力してください:");
scanf("%lf", &a);
printf("公比を入力してください:");
scanf("%lf", &b);
printf("項数を入力してください:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
printf("%lf\n", a * pow(b, i));
}
return 0;
}
No.5
- 回答日時:
No.4 はい。
公比<>0は等比数列の大前提です。powとforを理解するための実習問題に、業務システムを開発する時のような値チェックは
本来理解すべき箇所を見付けづらくする害悪ですので入れていません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
あるあるbotに投稿したけど採用されなかったあるある募集
あるあるbotに投稿したけど採用されなかったあるあるをこちらに投稿してください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
c言語 プログラミング 等比数列 以下のように、等比数列のプログラミングを作成したのですが、math
Ruby
-
c言語プログラミングで初項を1.公比2とした等比数列を表示するプログラムで表示終了で第20項まで表示
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンパイルエラーについて
-
10個出力で改行したいのですが...
-
コマンドラインに出力した文字...
-
3つの整数を画面から入力して...
-
じゃんけんゲームをつくったの...
-
C言語についてなのですが、
-
C言語 プログラミング
-
【C初心者】+,-,*./について【...
-
error C2143: 構文エラー : ';'...
-
コーディング
-
*を使ったジグザグのラインをプ...
-
unsigned int型について
-
再帰処理 変換
-
教えてください!!
-
プログラミング C言語
-
C言語
-
printf、最大値の出し方
-
分数を表示するプログラム(長...
-
Cプログラムについて
-
なぜgccはstdio.hをインクルー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コンパイルエラーについて
-
printf で二進表示を行いたい。
-
c言語でAからZまでを表示する...
-
テキストカーソル位置の取得
-
4の倍数を論理演算で表す。。
-
cshの文字列操作(0埋め)
-
【C言語教えてください】sin波...
-
10個出力で改行したいのですが...
-
wsprintfの書式制御文字列につ...
-
error C2143: 構文エラー : ';'...
-
printfの出力内の文字をdefine...
-
%P と %X の違い
-
C言語
-
strcmp
-
(C言語)めちゃくちゃな値にな...
-
コマンドラインに出力した文字...
-
スレッドとメッセージキューに...
-
printf( " %2d", p * q );
-
Visual Sutdio 2017 でのC言語...
-
defineで定数が置き換えられな...
おすすめ情報