fork download
  1. #include <unistd.h>
  2.  
  3. void ft_putnbr(int nb)
  4. {
  5. int nbr;
  6. char ch;
  7.  
  8. nbr = nb;
  9. if (nbr < 0)
  10. {
  11. write(1, "-", 1);
  12. nbr *= -1;
  13. }
  14. if (nbr >= 10)
  15. {
  16. ch = (nbr % 10) + 48;
  17. ft_putnbr(nbr / 10);
  18. write(1, &ch, 1);
  19. }
  20. else
  21. {
  22. ch = nbr + 48;
  23. write(1, &ch, 1);
  24. }
  25. }
  26.  
  27. int ft_atoi(char *str)
  28. {
  29. int nbr;
  30. int sign;
  31. int i;
  32.  
  33. nbr = 0;
  34. sign = 1;
  35. i = 0;
  36. while (('\t' <= str[i] && str[i] <= '\r') || str[i] == ' ')
  37. i++;
  38. while (str[i] == '-' || str[i] == '+')
  39. {
  40. if (str[i] == '-')
  41. sign *= -1;
  42. i++;
  43. }
  44. while (('0' <= str[i] && str[i] <= '9') || (str[i] != '\0'))
  45. {
  46. nbr = (nbr * 10) + (str[i] - 48);
  47. i++;
  48. }
  49. return (sign * nbr);
  50. }
  51.  
  52. int main(void)
  53. {
  54. char N[8] = "0000000";
  55. char nb[9] = "00000000";
  56. int n;
  57. int nbr;
  58. int i;
  59. int j;
  60. int MAX;
  61. int MIN;
  62.  
  63. i = 0;
  64. MAX = -1000001;
  65. MIN = 1000001;
  66. while(read(1, &N[i], 1))
  67. {
  68. if (N[i] == '\n')
  69. {
  70. N[i] = '\0';
  71. break ;
  72. }
  73. i++;
  74. }
  75. n = ft_atoi(N);
  76. i = 0;
  77. while (i < n)
  78. {
  79. j = 0;
  80. while (read(1, &nb[j], 1))
  81. {
  82. if ((nb[j] == '\n') || (nb[j] == ' '))
  83. {
  84. nb[j] = '\0';
  85. break ;
  86. }
  87. j++;
  88. }
  89. nbr = ft_atoi(nb);
  90. if (MAX < nbr)
  91. MAX = nbr;
  92. if (MIN > nbr)
  93. MIN = nbr;
  94. i++;
  95. }
  96. ft_putnbr(MIN);
  97. write(1, " ", 1);
  98. ft_putnbr(MAX);
  99. write(1, "\n", 1);
  100. return (0);
  101. }
Success #stdin #stdout 0.01s 5432KB
stdin
5
20 10 35 30 7
stdout
1000001 -1000001