Advertisement
_takumi

PPN1

Nov 8th, 2021
1,000
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.11 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. char * to_String(int n) {
  5.     char temp[11] = { 0 };
  6.     char res[11] = { 0 };
  7.     int j = 0;
  8.     while (n > 0) {
  9.         temp[j] = n % 10 + '0';
  10.         n /= 10;
  11.         j++;
  12.     }
  13.     for (int i = 10; i > 0; i--) {
  14.         res[i] = temp[10 - i];
  15.     }
  16.     return res;
  17. }
  18.  
  19. char * to_string(int n) {
  20.      int m = n;
  21.      char s[11];
  22.      char ss[11];
  23.      int i=0,j=0;
  24.      if (n < 0)// Handling negative numbers
  25.      {
  26.          m = 0 - m;
  27.          j = 1;
  28.          ss[0] = '-';
  29.      }
  30.      while (m>0)
  31.      {
  32.          s[i++] = m % 10 + '0';
  33.          m /= 10;
  34.      }
  35.      s[i] = '\0';
  36.      i = i - 1;
  37.      while (i >= 0)
  38.      {
  39.          ss[j++] = s[i--];
  40.      }
  41.      ss[j] = '\0';
  42.      return ss;
  43. }
  44.  
  45. int ppn(char *op, char *e, char *w) {
  46.     if ((e[0] >= '0' && e[0] <= '9') && (w[0] >= '0' && w[0] <= '9')) {
  47.         if (op == '/') {
  48.             return atoi(e) / atoi(w);
  49.         }
  50.         else {
  51.             return atoi(e) * atoi(w);
  52.         }
  53.     }
  54.     if ((e[0] >= '0' && e[0] <= '9') && (w[0] == '/' || w[0] == '*')) {
  55.         char t1[11], t2[11];
  56.         scanf(" %s %s", &t1, &t2);
  57.         if (op == '/') {
  58.             return atoi(e) / ppn(w[0], t1, t2);
  59.         }
  60.         else {
  61.             return atoi(e) * ppn(w[0], t1, t2);
  62.         }
  63.     }
  64.     if ((e[0] == '/' || e[0] == '*') && (w[0] >= '0' && w[0] <= '9')) {
  65.         char t1[11], t2[11];
  66.         scanf(" %s %s", &t1, &t2);
  67.         //fgets(t1, 11, stdin);
  68.         return ppn(op, ppn(e[0], w, t1), t2); // op:/ e:/ w:100 2 2
  69.     }
  70.     if ((e[0] == '/' || e[0] == '*') && (w[0] == '/' && w[0] == '*')) {
  71.         char t1[11], t2[11], t3[11], t4[11];
  72.         scanf(" %s %s %s %s", &t1, &t2, &t3, &t4);
  73.         //char ppn1[11] = itoa(ppn(w[0], t1, t2));
  74.         //char ppn2[11] = itoa(ppn(e[0], ppn1, t3));
  75.         return ppn(op, ppn(e[0], ppn(w[0], t1, t2), t3), t4);
  76.     }
  77. }
  78.  
  79. int main(void)
  80. {
  81.     char a, b[11], c[11];
  82.     //scanf("%c %s %s", &a, b, c);
  83.     //printf("%c %s %s", a, b, c);
  84.     int n = 123;
  85.     char * s = to_string(n);
  86.     printf("%s", s);
  87.     return 0;
  88. }
  89.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement