こんばんは!
だいぶ寒くなってきました![]()
もうすぐ冬ですね![]()
はじめての更新となります。C言語の事を主に書いていこうと思います![]()
さて、今日は℃-uteの新曲の発売日ですね
今回は3曲とも雰囲気が全然違います。かっこいい℃-uteさんも、可愛らしい℃-uteさんも見られてとても贅沢だと思います。![]()
そして「あの頃のように」ということで、私もC言語を勉強し始めた頃のことを思い返してみました。とっても簡単なプログラムから始めたものです。![]()
今日はここまで楽ではないですが、誰かにやらされるのではなく自分が楽しむためにプログラムを作ってみました。
以下がソースコードになります。よかったら実行してみてください。少しは遊べるかと思います![]()
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int getRandom(int min,int max);
int getRandom(int min,int max) /*乱数を作成する関数*/
{
return min + (int)(rand()*(max-min+1.0)/(1.0+RAND_MAX));
}
int main(void)
{
int c,toi,i,n,x,y,z,ans;
clock_t start, end;
while(1){
n = 0;
srand((unsigned int)time(NULL));
printf("Enterを押すとスタートします。\n");
if ((c = getchar()) == '\n'){ /*Enterが押されたとき*/
start = clock(); /*タイマがスタート*/
for(i = 0;i < 10;i++){
toi = getRandom(1,4); /*ランダムで四則演算を表示*/
switch( toi ){
case 1:
x = getRandom(1,9); /*1から9の間でランダムで数字を決める*/
y = getRandom(1,9);
printf(" %d+%d=", x, y); /*足し算の表示*/
ans = x + y;
break;
case 2:
x = getRandom(1,9);
y = getRandom(x + 1,18);
printf(" %d-%d=", y, x); /*引き算の表示*/
ans = y - x;
break;
case 3:
x = getRandom(1,9);
y = getRandom(1,9);
printf(" %d×%d=", x, y); /*掛け算の表示*/
ans = x * y;
break;
case 4:
x = getRandom(1,9);
y = getRandom(1,9);
if(x > y){ /*割り算の表示*/
printf(" %d÷%d=", x * y, y);
ans = x * y / y;
}else{
printf(" %d÷%d=", x * y, x);
ans = x * y / x;
}
break;
}
scanf( "%d", &z); /*答えを入力*/
if(z == ans){ /*正解の時*/
n++; /*正解数が増える*/
}
}
end = clock(); /*タイマをストップ*/
printf("\a\n%d問正解!\n",n); /*正解数の表示*/
printf("%dms\n", end - start ); /*開始と終了の時間の差からタイムを表示*/
if ((c = getchar()) == '\n') continue; /*Enterを押すと最初に戻る*/
}
}
}
タイマのところとかは結構複雑ですが、配列とかポインタとか考えずにやっています。あの辺が一番面倒くさい気がします![]()
C言語は汎用性が高いですが、機械語に近い部分もあってなかなか難解ですね。ダカラこそいろいろなことが出来るのだと思いますが...
というわけで皆さんもC言語の勉強
がんばっちゃえ!
今夜はこのへんで失礼します。コメントとかいただけるとありがたいです![]()
おやすみなさい![]()
![]()
![]()
![]()
![]()
