Подсчитать количество символов до точки с запятой и после нее - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задание: В строке имеется одна точка с запятой ( ; ). Подсчитать количество символов до точки с запятой и после нее. Помогите перевести из Pascal в Си...
Листинг программы
  1. uses crt;
  2. var
  3. i,k:integer;
  4. s:string;
  5. begin
  6. clrscr;
  7. writeln('stroka:');
  8. readln(s);
  9. i:=Pos(';',s);
  10. if i>0 then k:=length(s)-i;
  11. write('до ',i-1,' posle ',k);
  12. end.
  13. readln;
  14. end.

Решение задачи: «Подсчитать количество символов до точки с запятой и после нее»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define MAX_STRING_SIZE 1000
  5.  
  6. int main()
  7. {
  8.    char s[MAX_STRING_SIZE], *p = NULL;
  9.    size_t i = 0, k = 0;
  10.    printf("stroka:\n");
  11.    scanf("%s", s);
  12.    p = strchr(s, ';');
  13.    if (NULL != p) {
  14.       k = (p - s) + 1;
  15.       i = strlen(s) - (p - s) - 1;
  16.       printf("do %u posle %u", k, i);
  17.    }
  18.    return 0;
  19. }

Объяснение кода листинга программы

В этом коде осуществляется подсчет количества символов до точки с запятой (;) и после нее в строке, введенной пользователем.

  1. Сначала подключаются необходимые библиотеки:
    • stdio.h для работы с консолью (включая printf и scanf)
    • string.h для работы со строками (включая strlen, strchr)
  2. Затем объявляются переменные:
    • s - строка, в которую будет считываться входная строка
    • p - указатель, который будет искать точку с запятой во входной строке
    • i и k - счетчики, которые будут использоваться для подсчета символов
  3. После этого выводится приглашение для ввода строки:
    • printf(stroka:\n);
  4. Затем считывается строка с помощью функции scanf
    • scanf(%s, s);
  5. Находится позиция точки с запятой во входной строке:
    • p = strchr(s, ';');
  6. Если точка с запятой найдена, то вычисляются длины отрезков до и после точки с запятой:
    • k = (p - s) + 1; - длина отрезка до точки с запятой
    • i = strlen(s) - (p - s) - 1; - длина отрезка после точки с запятой
  7. Выводится результат:
    • printf(do %u posle %u, k, i);
  8. Завершается программа:
    • return 0;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы