Итоги: основные строковые функции
Часть раздела Logic & Flow путешествия по C на Coddy — урок 19 из 63.
Задание
ЛегкоНапишите программу на языке C, которая обрабатывает пары слов и демонстрирует все основные функции для работы со строками, которые вы изучили. Ваша программа должна:
- Считать целое число
n, представляющее количество пар слов для обработки - Для каждой пары слов:
- Считать первое слово из входных данных
- Считать второе слово из входных данных
- Использовать
strlen()для вычисления и вывода длины каждого слова - Использовать
strcmp()для сравнения двух слов и вывода информации о том, являются ли они идентичными или разными - Создать объединенную строку, объединив первое слово, пробел и второе слово с помощью
strcpy()иstrcat() - Вывести объединенную строку
- После обработки всех пар найти и вывести пару, которая образовала самую длинную объединенную строку
Не забудьте включить заголовочный файл <string.h> для использования строковых функций.
Ваш вывод должен отображать результаты в следующем формате:
Word 1: [word1] (Length: [length1])
Word 2: [word2] (Length: [length2])
Comparison: [identical/different]
Combined: [word1 word2]
Word 1: [word1] (Length: [length1])
Word 2: [word2] (Length: [length2])
Comparison: [identical/different]
Combined: [word1 word2]
...
Longest combined string: [longest_combined_string]Например, если входные данные следующие:
3
hello
world
test
test
programming
languageВаш вывод должен быть таким:
Word 1: hello (Length: 5)
Word 2: world (Length: 5)
Comparison: different
Combined: hello world
Word 1: test (Length: 4)
Word 2: test (Length: 4)
Comparison: identical
Combined: test test
Word 1: programming (Length: 11)
Word 2: language (Length: 8)
Comparison: different
Combined: programming language
Longest combined string: programming languageЭта задача проверяет ваше понимание совместного использования strlen() для вычисления длины, strcmp() для сравнения строк и strcpy() с strcat() для конкатенации строк в комплексной программе, обрабатывающей несколько пар строк.
Попробуйте сами
#include <stdio.h>
#include <string.h>
int main() {
int n;
scanf("%d", &n);
char word1[100], word2[100];
char combined[200];
char longest_combined[200] = "";
// TODO: Напишите свой код здесь
// Обработайте каждую пару слов и найдите самую длинную объединенную строку
return 0;
}Все уроки раздела Logic & Flow
1Основы указателей
Что такое указатель?Объявление указателейОператор взятия адреса (&)Оператор разыменования (*)Указатели NULLИтоги: Основы указателей4Проект: Простая текстовая утилита
Обзор проектаПодсчет символов2Указатели и массивы
Имена массивов как указателиЭлементы массива — указателиАрифметика указателейСравнение указателейИтоги: Обход массива через указатели5Указатели и функции
Передача по значениюПередача указателей в функцииИзменение переменных через указателиКлассический пример: SwapПередача массивов в функцииИтоги: указатели как аргументы функций8Структуры и указатели
Указатели на структурыОператор «стрелка» (->)Передача структур по значениюПередача указателей на структурыДинамическое выделение памяти для структурИтоги: Изменение структур через указатели11Итоговые задачи на повторение
Повторение: динамическая конкатенация строкПовторение: массив структурПовторение: счетчик частоты слов3Символьные массивы и строки
Строки как массивы charНуль-терминаторВвод строк с помощью scanfИспользование strlen()Использование strcpy()Использование strcat()Использование strcmp()Итоги: основные строковые функции