Дана строка состоящая из слов, разделенных запятыми. Определить порядковый номер слова минимальной длины - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д