以下のようなラックナンバーサーチのプログラムを作ったのですが、最後の使用時間の表示が
なぜか毎回「0.0秒かかりました」になってしまいます
時間自体の分岐はできているようなのでjikan変数には正しく値は代入されているようなのですが…
皆さんの意見をお聞かせ願えれば幸いです
c
1#include<stdio.h> 2#include<time.h> 3#include<stdlib.h> 4 5#define MAX_STAGE 10 6 7int main(void){ 8 9 int i,j,stage; 10 int dgt[9]={1,2,3,4,5,6,7,8,9}; 11 int a[8]; 12 double jikan; 13 clock_t start,end; 14 15 srand(time(NULL)); 16 17 printf("欠けている数字を入力してください。\n"); 18 19 start=clock(); 20 21 for(stage=0;stage<MAX_STAGE;stage++){ 22 int x=rand()%9; 23 int no; 24 25 i=j=0; 26 27 while(i<9){ 28 if(i!=x) 29 a[j++]=dgt[i]; 30 i++; 31 } 32 33 for(i=0;i<8;i++) 34 printf("%d",a[i]); 35 printf(":"); 36 37 do{ 38 scanf("%d",&no); 39 }while(no!=dgt[x]); 40 } 41 42 end=clock(); 43 44 jikan=(double)((end-start)/CLOCKS_PER_SEC); 45 46 printf("%.1f秒かかりました。\n",jikan); 47 48 if(jikan>25.0) 49 printf("鈍すぎます。\n"); 50 else if(jikan>20.0) 51 printf("少し鈍いですね。\n"); 52 else if(jikan>17.0) 53 printf("まあまあですね。\n"); 54 else 55 printf("素早いですね。\n"); 56 57 return 0; 58 59} 60
回答3件
あなたの回答
tips
プレビュー