質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

Q&A

解決済

for文で累乗を計算 c言語

apple1111
apple1111

総合スコア1

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

2回答

0グッド

0クリップ

359閲覧

投稿2022/10/19 14:06

前提

エラーはでていないのですが、答えがどの数字を入力しても1にしかなりません。
powを使えば出来るのですが、forでは出来ませんでした。

n? 99999
your input number ==> 99999
x = 2.718268

発生している問題・エラーメッセージ

x = (1 + (1/n))^nが出来ない。

該当のソースコード

#include <stdio.h>

int main (void)
{
int n, i;
double x, sum = 1;

do{
printf("n?:");
scanf("%d",&n);
printf("\n");
printf("your input number ==> %d\n",n);
}while(n == 0 || n == -1 || n > 100000 || n < -100000);

x = (1 + (1/n));

for(i=1;i<=n;i++){
sum = sum * x;
}
printf("x = %f\n",x);
return 0;
}

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

setoppu

2022/10/19 14:28

forループをいくら回しても変数xの値は変化しないんですから… 一緒なんじゃないですかね? x = (1 + (1/n)); はint型として計算してから、double型に変換される…かと。
PondVillege

2022/10/19 14:53

整数型同士で1/99999をしても0なのでx=1+0ですね
apple1111

2022/10/20 03:07

解決できました。ありがとうございます。

回答2

0

自己解決

解決できました。ありがとうございます。

投稿2022/10/20 03:08

apple1111

総合スコア1

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

0

計算に関しては, x = (1 + (1./n)); とすればよいでしょう.

で,それはそれとして,そもそも sum を表示しないと意味ないのでは.

投稿2022/10/20 02:30

fana

総合スコア10785

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

apple1111

2022/10/20 03:07

解決できました。ありがとうございます。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。