#include <stdio.h>
int main(void)
{
int i, sum;
sum = 0;
for (i=1; i<=100; i++){
sum = sum + i;
}
printf("sum=%d\n", sum);
sum = 0; i= 1;
while (i <= 100) {
sum = sum + i;
++i;
}
printf("sum=%d\n", sum);
sum = 0; i = 1;
do {
sum = sum +i;
++i;
} while (i <=100);
printf("sum=%d\n", sum);
return 0;
}
上記のプログラムに修正を加えて、実行結果が
1+3+5+…+n の nを入力してください → 99をキーボードから入力(例)
sum=2500
sum=2500
となるようにしたいです。 nはキーボードから奇数を入力します。
奇数値 nをキーボードから入力して、1からnまでの奇数の総和を
計算するプログラムです。
超暇なときにでも回答お願いします。
No.5ベストアンサー
- 回答日時:
#3、4です。
#4で書きましたが、質問とは合っていないようです。
質問のプログラムを実行すると、
sum=****
sum=****
sum=****
と3行表示されますが、質問の後半では、
> 1+3+5+…+n の nを入力してください → 99をキーボードから入力(例)
> sum=2500
> sum=2500
の2行しか表示させないんですよね?
どのループを削るか判らないので、適当に削ってください。
質問からは読み取れません。
No.4
- 回答日時:
#3です。
もしかして、「for」「while」「do」のループを使うって言うこと?
#include <stdio.h>
int main(void){
int i, j, sum;
sum = 0;
printf("1+3+5+…+n の nを入力してください>");
scanf("%d", &j);
if(j%2 == 1){
for (i=1; i<=j; i+=2){
sum = sum + i;
}
printf("sum=%d\n", sum);
sum = 0;
i= 1;
while (i <= j) {
sum = sum + i;
i+=2;
}
printf("sum=%d\n", sum);
sum = 0;
i = 1;
do {
sum = sum +i;
i+=2;
} while (i <=j);
printf("sum=%d\n", sum);
}else{
printf("奇数ではありませんでした。");
}
return 0;
}
やっぱり「修正」じゃない…。
No.3
- 回答日時:
#include <stdio.h>
int main(void){
int i, j, sum;
sum = 0;
printf("1+3+5+…+n の nを入力してください>");
scanf("%d", &j);
if(j%2 == 1){
for (i=1; i<=j; i=i+2){
sum = sum + i;
}
printf("sum=%d\n", sum);
}else{
printf("奇数ではありませんでした。");
}
return 0;
}
こういうのを「修正」とは言わない。
No.2
- 回答日時:
プログラムやるなら、これくらいの応用力は欲しいところなんですが....
・このプログラムは、同じ処理をする3つの部分に分けられる、というのは理解してますか?(正確にはまったく同じではありませんが)
・その処理内容は理解してますか?変数sum,iの役割りは理解できていますか?
・上が理解できていれば、
どこまで足すかを、100ではなく変数nにする方法
1,2,3と「1から一つずつ増える値」ではなく、1,3,5と「1から二つずつ増える値」にする方法
はすぐにわかると思うのですがどうでしょうか?
まずは「int i, sum;」のところを
int i, sum, n;
n=99 ;
とでもして、変数nまでの奇数を足すプログラムに変更してみましょう。
キーボード入力は実は非常にやっかいなことです。実はCの標準には「キーボードから数値を入力する」機能はありません。
なんですが、とりあえずは、入門書や入門サイトの最初の方に載っている、scanf関数を使うものでいいでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#if 1 #elseの意味について
-
for文の中にswitch文はいれられ...
-
配列を使って魔方陣
-
scanf関数を用いての加減乗除%...
-
構文エラー";"が型の前にあり...
-
基礎だと思いますが、教えてく...
-
プログラミングで二番目に大き...
-
和を求める問題
-
if文
-
SIGALRMでプロセス終了
-
c言語 プログラム
-
c言語for文
-
配列を関数に渡す方法
-
C言語。どうしてコンパイルでき...
-
プログラミングに関して
-
計算結果がlong型以上になる場...
-
C言語で、条件をつけて総和を求...
-
並べ替えのプログラム
-
行列をべき乗させるプログラム
-
1年単利金利 0.2% の A銀行と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
構文エラー";"が型の前にあり...
-
#if 1 #elseの意味について
-
for文の中にswitch文はいれられ...
-
配列を関数に渡す方法
-
10進数からN進数に変換するプロ...
-
getcの改行判定
-
C言語で電卓を作成する。
-
プログラミングで二番目に大き...
-
配列を使って魔方陣
-
C言語プログラムが理解できなくて…
-
計算結果がlong型以上になる場...
-
scanfが実行されません
-
素因数分解のプログラムを作成...
-
プログラム
-
while文を使った問題なのですが...
-
C言語階乗の総和を求める
-
C言語 エラー表示 break の位...
-
C言語の二分法のプログラムにつ...
-
階乗のプログラム!!
-
初心者です。for文、if文を使っ...
おすすめ情報