Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. int str_len(char* str);
  2. char* str_copy(char* str, char* dst);
  3. char* str_cat(char* str, char* str2);
  4. int str_ch(char* str, char ch);
  5. int sum_of_digits(char* str);
  6. int sum_of_decimal(char* str);
  7.  
  8. int main()
  9. {
  10. char ch = 'm';
  11. const int size = 20;
  12. char str[size] = "tema";
  13. char str1[size] = "zenya";
  14. char str2[size] = " bbik123zenya435h23";
  15.  
  16. /*char dst[size];*/
  17. /*str_copy(str, dst);
  18. printf ("dst:%s\n", dst );*/
  19. /*printf("dst:%s\n", str_copy(str2, dst));
  20. printf("str len: %d\n", str_len(str));
  21. printf("str2 len: %d\n", str_len(str2));
  22. str_cat(str1, str2);
  23. printf("str1: %s\n", str1);*/
  24. printf("i: %d\n", str_ch(str1, ch));
  25. printf("sum: %d\n", sum_of_digits(str2));
  26. printf("sum2: %d\n", sum_of_decimal(str2));
  27.  
  28. }
  29.  
  30.  
  31. int str_len(char* str)
  32. {
  33. int i = 0;
  34. while (str[i])
  35. {
  36. i++;
  37. }
  38. return i;
  39. }
  40.  
  41. char* str_copy(char* str, char* dst)
  42. {
  43. int i = 0;
  44. while (str[i])
  45. {
  46. dst[i] = str[i];
  47. i++;
  48. }
  49. dst[i] = '\0';
  50. return dst;
  51. }
  52. char* str_cat(char* str1, char* str2)
  53. {
  54. int len1 = str_len(str1);
  55. int i = 0;
  56. while (str2[i])
  57. {
  58. str1[i + len1] = str2[i];
  59. i++;
  60. }
  61. str1[i + len1] = '\0';
  62. return str1;
  63. }
  64. int str_ch(char* str, char ch)
  65. {
  66. int i = 0;
  67. while (str[i])
  68. {
  69. if (str[i] == ch)
  70. {
  71. return i;
  72. }
  73. i++;
  74. }
  75. return -1;
  76.  
  77. }
  78. int sum_of_digits(char* str)
  79. {
  80. int i = 0, sum = 0;
  81. while (str[i])
  82. {
  83. if (str[i] >= '0'&& str[i] <= '9')
  84. {
  85. sum += str[i] - '0';
  86. }
  87. i++;
  88. }
  89. return sum;
  90. }
  91. int sum_of_decimal(char* str)
  92. {
  93. int i = 0, sum = 0, current = 0;
  94. while (str[i])
  95. {
  96. printf("i:%d\n", i);
  97. if (str[i] >= '0'&& str[i] <= '9')
  98. {
  99. current = current * 10 + str[i] - '0';
  100. /*i++;*/
  101. printf("str:%s,current:%d\n", str, current);
  102. }
  103. else
  104. {sum += current;
  105. current = 0;
  106. }
  107. i++;
  108.  
  109. printf("sum: %d\n", sum);
  110.  
  111. }
  112. sum += current;
  113. return sum;
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement