もっと短くできればと…
Posted: 2011年7月05日(火) 14:00
課題でやってたんですけど先生からもう少し短くできないかと聞かれました。
あとインデントとか演算子前後がなんとか…しかしよくわかりませんでした;
できる方は解説も一緒にお願いしますm(_ _)m
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define cnt (double)(end-start)/CLOCKS_PER_SEC//時間定義
int main(void)
{
char name[255];
int g_start=0,answer_1,answer_2,answer_3,answer_4,answer_5,gokei=0;
clock_t start,end;
printf("国関係のゲームを開始します\n");
/*ゲーム準備 */
printf("このゲームは回答の速度も測定します。\n");
while(1)
{
printf("準備ができたら'1'を入力してください。\n同時に時間計測が開始されします\n");
scanf("%d",&g_start);
if(g_start ==1)
{
break;
}
else if(g_start !=1)
{
printf("入力数字が違います。\n");
continue;
}
}
/*時間計測開始*/
start = clock();
/*出題開始*/
printf("問題1:香港返還がされたのは1997年。どこの国から返還された?\n(1:イギリス、2:中国、3:ロシア)\n");
scanf("%d",&answer_1);
if(answer_1 == 1)
gokei += 1;
printf("問題2:フランスの国花は?\n(1:アイリス、2:薔薇、3:人食い花)\n");
scanf("%d",&answer_2);
if(answer_2 == 1)
gokei += 1;
printf("問題3:次の中で島国はどこ?\n(1:ベラルーシ、2:スペイン、3:アイスランド)\n");
scanf("%d",&answer_3);
if(answer_3 == 3)
gokei += 1;
printf("問題4:東京スカイツリーは何区にある?\n(1:千代田区、2:墨田区、3:武蔵村山市)\n");
scanf("%d",&answer_4);
if(answer_4 == 2)
gokei += 1;
printf("問題5:イタリアの首都は?\n(1:ヴェネツィア、2:ナポリタン、3:ローマ)\n");
scanf("%d",&answer_5);
if(answer_5 == 3)
{gokei += 1;}
/*出題終了*/
/*時間記憶終了*/
end = clock();
switch(gokei)
{
case 5:
printf("正解数 = 5問中%d問正解です。全問正解です!すごい(人´∀`).☆.。.:*・ \n",gokei);
break;
case 4:
printf("正解数 = 5問中%d問正解です。おしい!あと一歩Σd(゚∀゚。)デス!! \n",gokei);
break;
case 3:
printf("正解数 = 5問中%d問正解です。とんとんです∑d(・ω・*)ネッ!\n",gokei);
break;
case 2:
printf("正解数 = 5問中%d問正解です。あらら。残念でした(´・ω・`)ショボーン\n",gokei);
break;
case 1:
printf("正解数 = 5問中%d問正解です。あれ・・・?(^q^)\n",gokei);
break;
case 0:
printf("正解数 = 5問中%d問正解です。なんていうことでしょう;´Д`)エェェェェェェ… \n",gokei);
break;
}
printf("解答時間の統計は%.3f秒でした\n",cnt);
return 0;
}
あとインデントとか演算子前後がなんとか…しかしよくわかりませんでした;
できる方は解説も一緒にお願いしますm(_ _)m
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define cnt (double)(end-start)/CLOCKS_PER_SEC//時間定義
int main(void)
{
char name[255];
int g_start=0,answer_1,answer_2,answer_3,answer_4,answer_5,gokei=0;
clock_t start,end;
printf("国関係のゲームを開始します\n");
/*ゲーム準備 */
printf("このゲームは回答の速度も測定します。\n");
while(1)
{
printf("準備ができたら'1'を入力してください。\n同時に時間計測が開始されします\n");
scanf("%d",&g_start);
if(g_start ==1)
{
break;
}
else if(g_start !=1)
{
printf("入力数字が違います。\n");
continue;
}
}
/*時間計測開始*/
start = clock();
/*出題開始*/
printf("問題1:香港返還がされたのは1997年。どこの国から返還された?\n(1:イギリス、2:中国、3:ロシア)\n");
scanf("%d",&answer_1);
if(answer_1 == 1)
gokei += 1;
printf("問題2:フランスの国花は?\n(1:アイリス、2:薔薇、3:人食い花)\n");
scanf("%d",&answer_2);
if(answer_2 == 1)
gokei += 1;
printf("問題3:次の中で島国はどこ?\n(1:ベラルーシ、2:スペイン、3:アイスランド)\n");
scanf("%d",&answer_3);
if(answer_3 == 3)
gokei += 1;
printf("問題4:東京スカイツリーは何区にある?\n(1:千代田区、2:墨田区、3:武蔵村山市)\n");
scanf("%d",&answer_4);
if(answer_4 == 2)
gokei += 1;
printf("問題5:イタリアの首都は?\n(1:ヴェネツィア、2:ナポリタン、3:ローマ)\n");
scanf("%d",&answer_5);
if(answer_5 == 3)
{gokei += 1;}
/*出題終了*/
/*時間記憶終了*/
end = clock();
switch(gokei)
{
case 5:
printf("正解数 = 5問中%d問正解です。全問正解です!すごい(人´∀`).☆.。.:*・ \n",gokei);
break;
case 4:
printf("正解数 = 5問中%d問正解です。おしい!あと一歩Σd(゚∀゚。)デス!! \n",gokei);
break;
case 3:
printf("正解数 = 5問中%d問正解です。とんとんです∑d(・ω・*)ネッ!\n",gokei);
break;
case 2:
printf("正解数 = 5問中%d問正解です。あらら。残念でした(´・ω・`)ショボーン\n",gokei);
break;
case 1:
printf("正解数 = 5問中%d問正解です。あれ・・・?(^q^)\n",gokei);
break;
case 0:
printf("正解数 = 5問中%d問正解です。なんていうことでしょう;´Д`)エェェェェェェ… \n",gokei);
break;
}
printf("解答時間の統計は%.3f秒でした\n",cnt);
return 0;
}