Advertisement
Guest User

Untitled

a guest
Dec 19th, 2018
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.20 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. unsigned int my_strlen(const char tab[]) {
  5.   int i = 0;
  6.   if (tab[0] == '\0')
  7.       return 0;
  8.   else
  9.     while(tab[i] != '\0')
  10.         i = i + 1;
  11.  
  12.   return i;
  13. }
  14.  
  15. int my_atoi(const char tab[])  {
  16.     int value = 0, i = 0, sign = 1;
  17.     if(tab[0] == '-') {
  18.         i=1;
  19.         sign = -1;
  20.     } else if(tab[0] == '+')
  21.         i=1;
  22.     while (tab[i] >= '0' && tab[i] <= '9')
  23.         value = value*10 + tab[i++]-'0';
  24.    
  25.     return value * sign;
  26. }
  27.  
  28. float my_atof(const char tab[]) {
  29.     double value, power;
  30.     int i = 0, sign = 1;
  31.     if(tab[0] == '-') {
  32.         i=1;
  33.         sign = -1;
  34.     } else if(tab[0] == '+')
  35.         i=1;
  36.     for (value = 0.0; tab[i] >= '0' && tab[i] <= '9'; i++)
  37.         value = 10.0 * value + (tab[i] - '0');
  38.     if (tab[i] == '.')
  39.         i++;
  40.     for (power = 1.0; tab[i] >= '0' && tab[i] <= '9'; i++) {
  41.         value = 10.0 * value + (tab[i] - '0');
  42.         power *= 10.0;
  43.     }
  44.  
  45.     return sign * value / power;
  46. }
  47.  
  48. int main(void) {
  49.     char tab[15] = "";
  50.     printf("Podaj liczbę: ");
  51.     fgets(tab, 16, stdin);
  52.     printf("%d\n", my_strlen(tab));
  53.     printf("%d\n", my_atoi(tab));
  54.     printf("%.4f\n", my_atof(tab));
  55.     printf("%ld\n", strlen(tab));
  56.     return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement