このプログラムを変更して次の写真のような級数の和を出して欲しいです!

「このプログラムを変更して次の写真のような」の質問画像

質問者からの補足コメント

  • 補足です

    「このプログラムを変更して次の写真のような」の補足画像1
      補足日時:2017/05/15 16:03

A 回答 (1件)

課題は自分でやるべきだと思いますよ。


2年生のハシモト トモヤさん?

2枚目の写真、切れているし。
    • good
    • 3
この回答へのお礼

確かにそうですね、すみません

お礼日時:2017/05/15 16:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Qベキ級数の和

実数xと整数nを与えて下のベキ級数の和を求める関数を作りたいのですが…。

Σ(x^i/i!) = 1 + (x/1!) + (x^2/2!) + (x^3/3!) + … + (x^n/n!)
i=0

#include <stdio.h>
#include <math.h>
{
float x;
int n;

printf("x->>");
scanf("%f",&x);
printf("n->>");
scanf("%d",&n);

のあとどのようなプログラムになるのでしょうか?よろしくおねがいします。

Aベストアンサー


Σi
i=0

まずは、この式をプログラムにしてみましょう。
それが出来たら、iの部分をx^i/i!に変えるだけです。
簡単でしょ?

ただし、変数の範囲には気をつけること。

Q次のような課題を解くプログラムを作りましたが

コンパイルしてもエラーメッセージは出ないのですが結果が出ません。ミスしているところが分かりません。知恵をいただけないでしょうか。課題は『3+6+9+・・・・・・+99』の合計を求めよという問題です。FOR文を使うことになっております。
#include<stdio.h>
main()
{
int suretu=3;
int kaunto;
for(kaunto=1;suretu<=99;kaunto++);
{
suretu=suretu+kaunto*3;
}
printf("答えは%dです。\n",suretu);

}

Aベストアンサー

これは
suretuが99より大きくなったら終わるし、
「3+6+9…+99」にもなりませんよ。

いまのままでプログラムを動かすと
3+3+6+6+12+9+21+12+33+15+48+18+66+21+87+24
の結果を出力している事になりませんか??

ループ1回目
suretu=3
kaunt=1
結果:suretu=3 + 1 * 3⇒6

ループ2回目
suretu=6
kaunt=2
結果:suretu=6 + 2 * 3⇒12

あループ3回目
suretu=12
kaunt=3
結果:suretu=12 + 3 * 3⇒ 21

for(kaunto=1;suretu<=99;kaunto++);
の「suretu<=99」が間違ってますね。

次は3、6、9とループ値が3ずつ上がるように
「kaunto++」を修正してあげる必要があるかな。

上記の2点を修正すればfor内部の足し算は
suretu = suretu + kaunto;
でOKだと思いますよ。

printfは下記のURLを参考にしてもらえれば大丈夫だと思いますよ。
頑張ってください。

参考URL:http://wisdom.sakura.ne.jp/programming/c/c57.html

これは
suretuが99より大きくなったら終わるし、
「3+6+9…+99」にもなりませんよ。

いまのままでプログラムを動かすと
3+3+6+6+12+9+21+12+33+15+48+18+66+21+87+24
の結果を出力している事になりませんか??

ループ1回目
suretu=3
kaunt=1
結果:suretu=3 + 1 * 3⇒6

ループ2回目
suretu=6
kaunt=2
結果:suretu=6 + 2 * 3⇒12

あループ3回目
suretu=12
kaunt=3
結果:suretu=12 + 3 * 3⇒ 21

for(kaunto=1;suretu<=99;kaunto++);
の「suretu<=99」が間違ってますね。

次は3、6、9とループ値が...続きを読む

QC言語 正弦関数の級数展開のプログラム

sinxの級数展開を7項まで取った場合と組み込み関数で求めたsinxの値の差を,0度から360度まで,プログラムを作成して求めよ、という問題がわかりません。
どなたか、わかる方がいまいたら、教えてください。

Aベストアンサー

pow(x,3/p1)
ではなくて
pow(x,3)/p1
ですね

Q配列の和を求めるプログラム

キーから入力したデータを配列に入力した後、その和を求めるプログラムを作成したいのですが、プログラミング初心者の私にはさっぱりわかりません。
和を求めたいのに平均値が出てきてしまいます。
どこが間違っているのか教えてください。

#include <stdio.h>

float data[5];

float total(int max);

void main(void)
{
int cnt = 0;
float d;

printf("please input a data: ");
scanf("%f", &d);

while((cnt < 5) && (d > 0.0))
{
data[cnt] = d;
cnt++;
printf("please input a data: ");
scanf("%f", &d);
}

printf("total data: %5.2f\n", total(cnt));
}

float total(int max)
{
int i;
float total = 0.0;

for(i = 0; i < max; i++)
{
total += data[i];
}
return total / max;
}

キーから入力したデータを配列に入力した後、その和を求めるプログラムを作成したいのですが、プログラミング初心者の私にはさっぱりわかりません。
和を求めたいのに平均値が出てきてしまいます。
どこが間違っているのか教えてください。

#include <stdio.h>

float data[5];

float total(int max);

void main(void)
{
int cnt = 0;
float d;

printf("please input a data: ");
scanf("%f", &d);

while((cnt < 5) && (d > 0.0))
{
data[cnt] ...続きを読む

Aベストアンサー

最後の
return total / max;
で平均値を出してしまっています。ここを
return total;
とすればいいです。

ついでですが、main関数は
void main(void){
..
}

ではなく

int main(void){
..
return 0;
}

として、OSに正常終了を知らせたほうがよいです。

Qc言語のプログラムでこの実行結果を出したいのですがどうプログラムすればできますか? 続きの画像は補

c言語のプログラムでこの実行結果を出したいのですがどうプログラムすればできますか?

続きの画像は補足でだします

Aベストアンサー

#include <stdio.h>
#include <stddef.h>

void calc_average(int class[][2], size_t n);

int main(void) {
 int class[4][2] = {{0, 0}};
 calc_average(class, sizeof(class)/sizeof(class[0]));
 return 0;
}

void calc_average(int class[][2], size_t n) {
 int i, j, k;
 printf("クラス(1〜3) --> ");
 scanf("%d", &i);
 if (i <= 0) {
  for (j = 1; j < n; j++)
   printf("クラス %d の平均点 : %f\n", j, ((double)class[j][1])/class[j][0]);
 } else if (i > 0 && i < 4) {
  printf("点数 --> ");
  scanf("%d", &k);
  class[i][0] += 1;
  class[i][1] += k;
  return calc_average(class, n);
 } else
  return calc_average(class, n);
}

#include <stdio.h>
#include <stddef.h>

void calc_average(int class[][2], size_t n);

int main(void) {
 int class[4][2] = {{0, 0}};
 calc_average(class, sizeof(class)/sizeof(class[0]));
 return 0;
}

void calc_average(int class[][2], size_t n) {
 int i, j, k;
 printf("クラス(1〜3) --> ");
 scanf("%d", &i);
 if (i <= 0) {
  for (j = 1; j < n; j++)
   printf("クラス %d の平均点 : %f\n", j, ((double)class[j][1])/class[j][0]);
 } else if (i > 0 && i < 4) {
  pri...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報