Проверьте код легкой программы - C (СИ)
Формулировка задачи:
Задана последовательность слов. Напечатайте эту же последовательность слов в обратном порядке.
#include <iostream.h> #include <string.h> #include <stdio.h> int main() { char s[256]; //строка исходная char words[30][256]; //сюда будем записывать слова char *d=" ,"; //разделители int count=0; //количество слов printf("Enter your string:\n"); while((s=getchar())!=EOF) count++; char *p; p=strtok(s, d); //первое слово for(;str[i]!='\0' && str[i]=' ';i++) { word[p]=str[i]; //записываем первое слово count++; while(p=strtok(NULL, d)) //остальные слова word[d]=str[i]; /* strcpy(words[count++], p); */ //записываем остальные слова for (int i=count-1; i>=0; i--) //в обратном порядке выводим printf("%d\n", word[i]); system("PAUSE"); return 0; }
Решение задачи: «Проверьте код легкой программы»
textual
Листинг программы
#include <stdlib.h> #include <stdio.h> #include <string.h> enum{ MAX_SIZE_STRING = 256, MAX_NUMBER_WORDS = 30 }; int main(void){ const char delim[] = " ,\n"; char str[MAX_SIZE_STRING]; char words[MAX_NUMBER_WORDS][MAX_SIZE_STRING]; printf("Enter your string: "); char *word = strtok(fgets(str, MAX_SIZE_STRING, stdin), delim); int count = 0; for(; word; word = strtok(NULL, delim)) strcpy(words[count++], word); for (int i = count - 1; i >= 0; --i) printf("%s\n", words[i]); return EXIT_SUCCESS; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с памятью, вводом/выводом и строками.
- Определяем значения констант для ограничения размеров строк и количества слов.
- Определяем функцию main() как точку входа в программу.
- Инициализируем строку-разделитель для разделения входной строки на слова.
- Выделяем память под строку, которую будет заполнять пользователь.
- Выделяем память под массив строк, который будет хранить слова.
- Запрашиваем у пользователя ввод строки.
- Находим первое слово в строке, используя функцию strtok().
- Считываем количество слов в строке.
- Копируем слова в массив.
- Выводим слова в обратном порядке.
- Завершаем программу успешно.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д