fork(3) download
  1. #include <stdio.h>
  2.  
  3. int main(void) {
  4. float p, v1, x1, y1, z1;
  5. scanf("%f", &p);
  6. int v, x, y, z;
  7. v1=p/500/3/16/0.04445; //Переводим наш отрезок P из метров в верста.
  8. v=(int)v1; //Записываем переменную обозначающую отрезок P в верстах в виде целого числа.
  9. x1=(v1-v)*500; //Вычисляем дробную часть от предыдущей величины(верста) и переводим её в сажени.
  10. x=(int)x1; //Опять же записываем переменную в виде целого числа.
  11. y1=(x1-x)*3; //Вычисляем дробную часть от предыдущей величины(сажени) и переводим её в аршины.
  12. y=(int)y1; //Опять же записываем переменную в виде целого числа.
  13. z1=(y1-y)*16; //Вычисляем дробную часть от предыдущей величины(аршины) и переводим её в вершки.
  14. z=(int)z1; //И вновь записываем переменную в виде целого числа.
  15.  
  16. if(p > 0)
  17. printf("Длинна отрезка P -");
  18. else
  19. if(p==0)
  20. printf("Длинна отрезка P равна нулю");
  21. else
  22. printf("Не имеет смысла");
  23.  
  24. if(v==1)
  25. printf(" %d верста", v);
  26. else if(v==0)
  27. ;
  28. else
  29. if(v>=2,v<=4)
  30. printf(" %d версты", v);
  31. else
  32. if(v>=5)
  33. printf(" %d вёрст", v);
  34.  
  35. if(x==1)
  36. printf(" %d сажень", x);
  37. else if(x==0)
  38. ;
  39. else
  40. if(x>=2,x<=4)
  41. printf(" %d сажени", x);
  42. else
  43. if(x>=5)
  44. printf(" %d саженей", x);
  45.  
  46. if(y==1)
  47. printf(" %d аршин", y);
  48. else if(y==0)
  49. ;
  50. else
  51. if(y>=2,y<=4)
  52. printf(" %d аршина", y);
  53. else
  54. if(y>=5)
  55. printf(" %d аршинов", y);
  56.  
  57. if(z==1)
  58. printf(" %d вершок", z);
  59. else if(z==0)
  60. ;
  61. else
  62. if(z>=2,z<=4)
  63. printf(" %d вершка", z);
  64. else
  65. if(z>=5)
  66. printf(" %d вершков", z);
  67.  
  68. printf(".");
  69.  
  70. return 0; //Это очень важный момент.
  71. }
  72.  
Success #stdin #stdout 0s 2252KB
stdin
0
1
99
345999
-99999
stdout
Длинна отрезка P равна нулю.