Дана строка состоящая из слов, разделенных запятыми. Определить порядковый номер слова минимальной длины - C (СИ)
Формулировка задачи:
Дана строка состоящая из слов, разделенных запятыми. Определить порядковый номер слова минимальной длины и количество символов в этом слове.
Строка задается в качестве параметра командной строки.
Решение задачи: «Дана строка состоящая из слов, разделенных запятыми. Определить порядковый номер слова минимальной длины»
textual
Листинг программы
#include <stdio.h> void main(int npar, char *par[]) { int m, mi; int ind, len, i; char *p; p=par[1]; printf("%s\n", p); \\ печать входной строки m = 0; mi = -1; ind=0; len=0; for(i=0; p[i]!='\0'; i++) { if(p[i]!=',') { len++; } else { if(mi==-1 || len < m) { m = len; mi = ind; } ind++; len = 0; } } printf("%d %d\n", m, mi); }
Объяснение кода листинга программы
В этом коде:
- Вводится строка, которая передается как аргумент функции main в виде массива символов.
- Создаются переменные для хранения количества слов и индекса слова минимальной длины: m, mi.
- Инициализируются переменные ind, len, i, p.
- Строка передается в переменную p.
- В цикле for перебираются все символы строки.
- Если текущий символ не запятая, то увеличивается счетчик len.
- Если текущий символ запятая, то проверяется, является ли текущая длина слова минимальной.
- Если минимальная длина слова обновляется, то обновляются значения переменных m, mi.
- После окончания цикла выводятся значения переменных m, mi.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д