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

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

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

Задание: В строке имеется одна точка с запятой ( ; ). Подсчитать количество символов до точки с запятой и после нее. Помогите перевести из Pascal в Си...
uses crt;
var
 i,k:integer;
 s:string;
begin
clrscr;
 writeln('stroka:');
 readln(s);
 i:=Pos(';',s);
 if i>0 then k:=length(s)-i;
 write('до ',i-1,' posle ',k);
 end.
readln;
end.

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

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
#define MAX_STRING_SIZE 1000
 
int main()
{
   char s[MAX_STRING_SIZE], *p = NULL;
   size_t i = 0, k = 0;
   printf("stroka:\n");
   scanf("%s", s);
   p = strchr(s, ';');
   if (NULL != p) {
      k = (p - s) + 1;
      i = strlen(s) - (p - s) - 1;
      printf("do %u posle %u", k, i);
   }
   return 0;
}

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

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

  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
Похожие ответы