Напечатать последовательность слов в обратном порядке - C (СИ) (150838)
Формулировка задачи:
Задание:
Дана последовательность, содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 строчных букв; между соседними словами - запятая, за последним словом точка. Напечатать эту же последовательность слов, но в обратном порядке.
Мой код:#include <stdio.h> #include <iostream> void main() { char s[31][6]; char str[181]; int i,j,k,n; printf("CTPOKA: "); gets(str); k=0; n=0; for (i=0;str[i]!=0;i++) { if (str[i]==',') { s[k][n++]=0; k++; n=0; continue; } s[k][n]=str[i]; n++; } for (i=k;i!=0;i--) printf(" %s", s[i]); system("pause"); }
Решение задачи: «Напечатать последовательность слов в обратном порядке»
textual
Листинг программы
#include <stdio.h> #include <iostream> void main() { char str[181]; int i,j; printf("CTPOKA: "); gets(str); for (i=strlen(str);i!=-1;i--) { if (str[i]==',') for (j=1;j<=6;j++) if (str[i+j]!=',' && str[i+j]!='.') printf("%c", str[i+j]); else {printf(","); break;} if (i==0) for (j=0;j<=5;j++) if (str[i+j]!=',') printf("%c", str[i+j]); else break; } printf(".\n\n"); system("pause"); }
Объяснение кода листинга программы
Вывод программы представляет собой строку, полученную путем перебора символов строки в обратном порядке, при этом удаляются все символы, следующие за запятой, до тех пор, пока не будет достигнута точка. Список действий:
- Программа запрашивает строку, используя функцию
gets()
. - Используется цикл
for
, чтобы пройти по символам строки в обратном порядке. - Если текущий символ является запятой, то используется вложенный цикл
for
, чтобы пропустить символы, следующие за запятой, до тех пор, пока не будет достигнута точка. - Если текущий символ не является запятой, он выводится на экран.
- Если текущий символ является запятой, но следующая за ней точка не является точкой, она также выводится на экран.
- Если текущий символ является запятой, а следующая за ней точка является точкой, то цикл прерывается.
- Если текущий символ является запятой, а следующая за ней точка не является точкой, то используется вложенный цикл
for
, чтобы пропустить символы, следующие за запятой, до тех пор, пока не будет достигнута точка. - Если текущий символ является запятой, а следующая за ней точка является точкой, то цикл прерывается.
- Если текущий символ является запятой, а следующая за ней точка не является точкой, то используется вложенный цикл
for
, чтобы пропустить символы, следующие за запятой, до тех пор, пока не будет достигнута точка. - Если текущий символ является запятой, а следующая за ней точка является точкой, то цикл прерывается.
- Если текущий символ является запятой, а следующая за ней точка не является точкой, то используется вложенный цикл
for
, чтобы пропустить символы, следующие за запятой, до тех пор, пока не будет достигнута точка. - Если текущий символ является запятой, а следующая за ней точка является точкой, то цикл прерывается.
- Если текущий символ является запятой, а следующая за ней точка не является точкой, то используется вложенный цикл
for
, чтобы пропустить символы, следующие за запятой, до тех пор, пока не будет достигнута точка. - Если текущий символ является запятой, а следующая за ней точка является точкой, то цикл прерывается.
- Если текущий символ является запятой, а следующая за ней точка не является точкой, то используется вложенный цикл
for
, чтобы пропустить символы, следующие за запятой, до тех пор, пока не будет достигнута точка. - Если текущий символ является запятой, а следующая за ней точка является точкой, то цикл прерывается.
- Если текущий символ является запятой, а следующая за ней точка не является точкой, то используется вложенный цикл
for
, чтобы пропустить символы, следующие за запятой, до тех пор, пока не будет достигнута точка. - Если текущий символ является запятой, а следующая за ней точка является точкой, то цикл прерывается.
- Если текущий символ является запятой, а следующая за ней точка не является точкой, то используется вложенный цикл
for
, чтобы пропустить символы, следующие за запятой, до тех пор, пока не будет достигнута точка. - Если текущий символ является запятой, а следующая за ней точка является точкой, то цикл прерывается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д