fork download
  1. #include <stdio.h>
  2. struct MESSAGE
  3. {
  4. int gene;
  5. int end;
  6. int delay;
  7. };
  8.  
  9. void delay(struct MESSAGE data[], int i);
  10. void average(struct MESSAGE data[], double *ave);
  11.  
  12. int main(void)
  13. {
  14. struct MESSAGE data[10]; int i;
  15. double ave;
  16. //<メッセージの発生時刻と到着時刻の値の代入>
  17. data[0].gene = 0;
  18. data[0].end = 25;
  19. data[1].gene = 5;
  20. data[1].end = 30;
  21. data[2].gene = 10;
  22. data[2].end = 38;
  23. data[3].gene = 15;
  24. data[3].end = 50;
  25. data[4].gene = 20;
  26. data[4].end = 52;
  27. data[5].gene = 25;
  28. data[5].end = 55;
  29. data[6].gene = 30;
  30. data[6].end = 57;
  31. data[7].gene = 35;
  32. data[7].end = 60;
  33. data[8].gene = 40;
  34. data[8].end = 65;
  35. data[9].gene = 45;
  36. data[9].end = 70;
  37.  
  38. for (i=0; i<=9; i++)
  39. {
  40. delay(data, i);
  41. printf("メッセージ%dの転送時間は%dミリ秒 \n",i, data[i].delay);
  42. }
  43. average(data, &ave);
  44. printf("平均メッセージ転送時間は%fミリ秒 \n", ave);
  45. return 0;
  46. }
  47.  
  48. void delay(struct MESSAGE data[], int i)
  49. {
  50. //<メッセージiの転送時間の計算>
  51. data[i].delay = data[i].end - data[i].gene;
  52. }
  53.  
  54. void average(struct MESSAGE data[], double *ave)
  55. {
  56. int i, total = 0;
  57. //<平均メッセージ転送時間の計算>
  58. for (i=0; i<=9; i++)
  59. {
  60. total += data[i].delay;
  61. }
  62. *ave = total / 10.0;
  63. }
  64.  
Success #stdin #stdout 0.01s 1720KB
stdin
Standard input is empty
stdout
メッセージ0の転送時間は25ミリ秒 
メッセージ1の転送時間は25ミリ秒 
メッセージ2の転送時間は28ミリ秒 
メッセージ3の転送時間は35ミリ秒 
メッセージ4の転送時間は32ミリ秒 
メッセージ5の転送時間は30ミリ秒 
メッセージ6の転送時間は27ミリ秒 
メッセージ7の転送時間は25ミリ秒 
メッセージ8の転送時間は25ミリ秒 
メッセージ9の転送時間は25ミリ秒 
平均メッセージ転送時間は27.700000ミリ秒