<Advanced C Programming and Lab> Ch 10.
Strings
<Advanced C Programming and Lab> Ch 10. Strings
※ Note
- If not mentioned, assume that there is no additional inputs.
- If not mentioned, do not print a space in the beginning and end of each line.
- In input and output examples, after ↦ symbol is to explain the input and output.
- In output examples, □ symbol indicates a space.
[ Problem 1 ] Read a string (without spaces) and print lower-case letters only.
- Length of a string is ≤20
Input Example 1 Output Example 1
HelloWorld elloorld
Input Example 1 Output Example 1
AbCdEEff bdff
[ Problem 2 ] Read an integer, convert each digit into a character, store the characters as a string
in reverse order and print them.
- The integer is up to a hundred-digit number
Input Example 1 Output Example 1
9756 6579
Input Example 2 Output Example 2
12345 54321
-1-
<Advanced C Programming and Lab> Ch 10. Strings
[ Problem 3 ] Read 2 strings (including spaces) and check whether the two strings match to each
other.
- Do not use library functions strlen( ) and strcmp( )
- The length of a string is ≤100
- Print the length of the first string and print 1 if two are matched, otherwise 0.
Input Example 1 Output Example 1
Hello 5 0
world
Input Example 2 Output Example 2
programming 11 1
programming
[ Problem 4 ] Read two strings str1 and str2 (without spaces).
- Print the length of the first string and print 1 if str1 includes str2, otherwise 0
- The length of str1 is ≤80
- The length of str2 is ≤10
Input Example 1 Output Example 1
Hello 5 0
world
Input Example 2 Output Example 2
Helloworld 10 1
low
-2-
<Advanced C Programming and Lab> Ch 10. Strings
[ Problem 5 ] Read an integer N. Read N strings (without spaces). Print the shortest length string
(without spaces). The maximum length of a string is 100.
Input Example 1 Output Example 1
4 ↦ N=4: 4 strings Good
Program
Good
Thisisstring
language
[ Problem 6 ] Read two strings str1 and str2 (without spaces) and one integer p. Insert str2 into
str1 at the position designated by the integer p.
- The maximum length of a string is 20
- Integer p is less than or equal to the length of str1
- If p = 0, insert str1 in front of str2
Hint: If p#0, create a new string and use strncpy() function and strcat() function in <string.h>
library.
Input Example 1 Output Example 1
abcde ↦ str1 ab123cde
123 ↦ str2
2 ↦ where to insert
Input Example 2 Output Example 2
ABCD ↦ str1 ABCDabc
abc ↦ str2
4 ↦ where to insert
[ Problem 7 ] Extending Problem 6. Read one more integer to indicate whether reverse the string
or not.
- Following the rules of problem 6
-3-
<Advanced C Programming and Lab> Ch 10. Strings
0: forward order, 1: reverse order
Input Example 1 Output Example 1
abcde ↦ str1 ab123cde
123 ↦ str2
2 ↦ where to insert
0 ↦ forward order
Input Example 2 Output Example 2
abcde ↦ str1 ab321cde
123 ↦ str2
2 ↦ where to insert
1 ↦ reverse order
[ Problem 8 ] Read two strings (without spaces) using scanf( ) and concatenate two strings and
print them. Compare two strings using the lexicographic order, put the bigger string first.
- The maximum length of a string is 50
- Lower-case letters are only received
Input Example 1 Output Example 1
sejong universitysejong
university
[ Problem 9 ] Read a string (without spaces) and check whether it is palindrome or not.
- Define and use a function check()
◦ arguments: a pointer variable containing the starting address of a string
-4-
<Advanced C Programming and Lab> Ch 10. Strings
◦ Check whether a string is a palindrome or not
◦ Case sensitive (Treat upper- and lower-case letters differently)
◦ Return type: 1 if a palindrome, 0 otherwise
- main()
◦ Read a string
◦ The maximum length of a string is 30
◦ Print the length of the received string
◦ Call check() and print whether a string is a palindrome.
Input Example 1 Output Example 1
Hello ↦ not a palindrome 5 0 ↦ Length 5, not a palindrome 0
Input Example 2 Output Example 2
aibohpphobia 12 1
[ Problem 10 ] Read 5 strings without spaces (lowercase characters only) and sorts them in
lexicographical order.
Input Example 1 Output Example 1
belloo apricot
apricot bello
hello hello
sejong myname
myname sejong
-5-