「03解説」の編集履歴(バックアップ)一覧はこちら
「03解説」(2008/07/25 (金) 16:37:56) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
//C
#include <stdio.h>
/*
こう書くとINPUT_MAXという文字の部分を100という文字に置き換えてくれます。
こうすることによってINPUTの上限を変えたい時に、この部分を変更するだけで良くなります。アラ便利。
こういった決まった数(定数)はこのように書くのがC言語の慣習です。C++は別の書き方があるので注意してくださいね
*/
#define INPUT_MAX 100
void main(){
/*
INPUT_MAX個のint型変数を一気に宣言しています。このような形のものを配列といいます。
ここでは「へい、おっちゃん。int型を100個まとめたdataをくれや!」という意味になります。
*/
int data[INPUT_MAX];
/*
ここではこまごました変数を宣言してますね。
最後の「sum = 0」のように宣言と同時に値を代入することも可能です。
別に分けて書いてもいいんですけどね、めんどくさいのでこう書きます。
ちなみに一番最初に変数に値を代入することを「変数を初期化する」と言ったりします。
*/
int i, cnt, sum = 0;
/*
for文を使ってます。詳しい使い方はググって調べてください。よく出てくるので覚えようとしなくても自然と覚えてしまいます。
継続条件が「i < INPUT_MAX」なのでiが100になった途端にループを停止します。つまりループ内でiは0~99までの値しか取りません
これがまた配列と相性がいいんですよねー。
*/
for(i = 0; i < INPUT_MAX; i++ ){
printf("数字を入力してください : ");
/*
dataのi番目に、入力された整数を格納してます。iは1づつ増えていくので最初から順番に整数を格納してることになります
ちなみに配列の最初の要素は「data[0]」です。「data[1]」では無いので気をつけてくださいね
*/
scanf("%d", &data[i]);
/*もし0が入力されたらループを抜ける*/
if(data[i] == 0)
break;
}
/*
iが何番目までを指していたか、つまりdataの何番目まで整数が入ってるかをcntに避難させます
iはループで使うんでね。
*/
cnt = i;
/*
もっかいくるくるとループさせる。今度はcnt(dataの数字が入ってる場所を示す数字)まででおk。
dataの値をsumへと加算しまくる。0~cntまで。ちなみにsumを初期化してないとここでエラーが出ます。
*/
for(i = 0; i < cnt; i++){
sum += data[i];
}
/*
せっせと溜め込んだsumを披露します。
printfの使い方に慣れてくださいね。
*/
printf("合計 : %d", sum);
return;
}
//C
#include <stdio.h>
void main(){
int input;
/*sumを0で初期化*/
int sum = 0;
/*
このように書くと無限ループになる。while文は()の中身を真か偽か判別してループを継続するので
真を表す「1」を書いておくとずっと俺のターン状態になります。
*/
while(1){
printf("数字を入力してください : ");
scanf("%d",&input);
/*
inputが0のときwhileループを抜ける。
break文は強制的にループを抜ける便利な文です。
*/
if(input == 0)
break;
sum += input;
}
printf("合計 : %d",sum);
return;
}