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