Bird
Raised Fist0
DSA C#programming~10 mins

String Traversal and Character Access in DSA C# - Interactive Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to print each character of the string word using a for loop.

DSA C#
string word = "hello";
for (int i = 0; i < word.Length; i++)
{
    Console.WriteLine(word[1]);
}
Drag options to blanks, or click blank then click option'
A<i>
B[i]
C(i)
D{i}
Attempts:
3 left
💡 Hint
Common Mistakes
Using parentheses instead of square brackets to access characters.
Using curly braces or angle brackets which are invalid here.
2fill in blank
medium

Complete the code to print the last character of the string text.

DSA C#
string text = "world";
char lastChar = text[1];
Console.WriteLine(lastChar);
Drag options to blanks, or click blank then click option'
A[0]
B[text.Length]
C[text.Length + 1]
D[text.Length - 1]
Attempts:
3 left
💡 Hint
Common Mistakes
Using Length instead of Length - 1 causes an error.
Using index 0 gives the first character, not the last.
3fill in blank
hard

Fix the error in the code to correctly print each character of input using a foreach loop.

DSA C#
string input = "code";
foreach (char c [1] input)
{
    Console.WriteLine(c);
}
Drag options to blanks, or click blank then click option'
Ain
Bof
Con
Dat
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'of' which is used in some other languages but not C#.
Using 'on' or 'at' which are invalid here.
4fill in blank
hard

Complete the code to create a dictionary that maps each word to its length for words longer than 3 characters.

DSA C#
string[] words = {"apple", "bat", "carrot", "dog"};
var lengths = words.ToDictionary(word => word, word => word.Length)[1](word => word.Key.Length > 3);
Drag options to blanks, or click blank then click option'
A.ToUpper()
B.ToLower()
D.Where
Attempts:
3 left
💡 Hint
Common Mistakes
Trying to modify the word with ToUpper or ToLower when not needed.
Not using Where to filter the words.
5fill in blank
hard

Fill all three blanks to create a dictionary with uppercase words as keys and their lengths as values, only for words with length greater than 3.

DSA C#
string[] words = {"tree", "cat", "house", "dog"};
var result = words.Where(word => word.Length [1] 3)
    .ToDictionary(word => word[2], word => word[3]);
Drag options to blanks, or click blank then click option'
A>
B.ToUpper()
C.Length
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' instead of '>' in the filter.
Not converting keys to uppercase.
Using word.Length as key instead of value.

Practice

(1/5)
1. What does the expression str[2] return when string str = "hello";?
easy
A. The character 'o'
B. The character 'l'
C. The character 'e'
D. An error because strings cannot be indexed

Solution

  1. Step 1: Understand zero-based indexing in strings

    In C#, string characters are accessed starting from index 0. So, str[0] = 'h', str[1] = 'e', str[2] = 'l'.
  2. Step 2: Identify the character at index 2

    The character at index 2 in "hello" is 'l'.
  3. Final Answer:

    The character 'l' -> Option B
  4. Quick Check:

    str[2] = 'l' [OK]
Hint: Remember string indexing starts at 0 in C# [OK]
Common Mistakes:
  • Thinking indexing starts at 1
  • Confusing characters at index 1 and 2
  • Assuming strings can't be indexed
2. Which of the following is the correct way to loop through each character in a string str in C#?
easy
A. for (char c = 0; c < str.Length; c++) { Console.WriteLine(str[c]); }
B. for (int i = 1; i <= str.Length; i++) { Console.WriteLine(str[i]); }
C. foreach (int c in str) { Console.WriteLine(c); }
D. for (int i = 0; i < str.Length; i++) { Console.WriteLine(str[i]); }

Solution

  1. Step 1: Check loop indexing and range

    In C#, string indexing starts at 0 and goes up to Length - 1. So the loop must run from 0 to str.Length - 1.
  2. Step 2: Validate each option

    for (int i = 0; i < str.Length; i++) { Console.WriteLine(str[i]); } uses correct indexing (0 to Length-1). for (int i = 1; i <= str.Length; i++) { Console.WriteLine(str[i]); } starts at 1 and uses <= which causes out-of-range error. foreach (int c in str) { Console.WriteLine(c); } tries to foreach over int, but string yields chars, so type mismatch. for (char c = 0; c < str.Length; c++) { Console.WriteLine(str[c]); } uses char as loop variable which is incorrect.
  3. Final Answer:

    for (int i = 0; i < str.Length; i++) { Console.WriteLine(str[i]); } -> Option D
  4. Quick Check:

    Loop from 0 to Length-1 for string traversal [OK]
Hint: Use for loop with i from 0 to str.Length - 1 [OK]
Common Mistakes:
  • Starting loop at 1 instead of 0
  • Using <= instead of < in loop condition
  • Using wrong variable type in foreach
3. What will be the output of the following code?
string s = "code";
for (int i = 0; i < s.Length; i++)
{
    if (i % 2 == 0)
        Console.Write(s[i]);
}
medium
A. co
B. oe
C. cd
D. code

Solution

  1. Step 1: Understand the loop and condition

    The loop runs from i=0 to i=3 (length 4). It prints characters only when i is even (0, 2).
  2. Step 2: Identify characters at even indices

    At i=0, s[0] = 'c'; at i=2, s[2] = 'd'. So output is "cd".
  3. Final Answer:

    cd -> Option C
  4. Quick Check:

    Print chars at even indices: 'c' and 'd' [OK]
Hint: Print characters where index % 2 == 0 [OK]
Common Mistakes:
  • Confusing even and odd indices
  • Printing all characters ignoring condition
  • Misreading string length
4. Identify the error in the following code snippet:
string text = "example";
for (int i = 0; i <= text.Length; i++)
{
    Console.Write(text[i]);
}
medium
A. The loop condition should be < instead of <=
B. The string cannot be indexed with []
C. Variable i should be of type char
D. Console.Write should be Console.WriteLine

Solution

  1. Step 1: Analyze loop condition and indexing

    The loop runs from i=0 to i <= text.Length. Since string indices go from 0 to Length-1, accessing text[Length] causes an error.
  2. Step 2: Correct the loop condition

    Change condition to i < text.Length to avoid out-of-range exception.
  3. Final Answer:

    The loop condition should be < instead of <= -> Option A
  4. Quick Check:

    Loop must run from 0 to Length-1 [OK]
Hint: Use i < str.Length to avoid index out of range [OK]
Common Mistakes:
  • Using <= instead of < in loop condition
  • Assuming string indexing is 1-based
  • Changing variable type unnecessarily
5. Given a string input, which code snippet correctly counts how many vowels (a, e, i, o, u) it contains?
hard
A. int count = 0; foreach (char c in input.ToLower()) { if ("aeiou".Contains(c)) count++; } Console.WriteLine(count);
B. int count = 0; for (int i = 1; i <= input.Length; i++) { if ("aeiou".Contains(input[i])) count++; } Console.WriteLine(count);
C. int count = 0; foreach (int c in input) { if ("aeiou".Contains((char)c)) count++; } Console.WriteLine(count);
D. int count = 0; for (char c = 0; c < input.Length; c++) { if ("aeiou".Contains(input[c])) count++; } Console.WriteLine(count);

Solution

  1. Step 1: Check correct iteration over string characters

    int count = 0; foreach (char c in input.ToLower()) { if ("aeiou".Contains(c)) count++; } Console.WriteLine(count); uses foreach over chars in input.ToLower(), which is correct. int count = 0; for (int i = 1; i <= input.Length; i++) { if ("aeiou".Contains(input[i])) count++; } Console.WriteLine(count); uses 1-based indexing causing out-of-range error. int count = 0; foreach (int c in input) { if ("aeiou".Contains((char)c)) count++; } Console.WriteLine(count); uses foreach over int which is incorrect type. int count = 0; for (char c = 0; c < input.Length; c++) { if ("aeiou".Contains(input[c])) count++; } Console.WriteLine(count); uses char as loop variable which is invalid.
  2. Step 2: Verify vowel check and counting

    int count = 0; foreach (char c in input.ToLower()) { if ("aeiou".Contains(c)) count++; } Console.WriteLine(count); checks if character is in "aeiou" string and increments count correctly.
  3. Final Answer:

    Option A code snippet correctly counts vowels -> Option A
  4. Quick Check:

    Use foreach char and check vowels with Contains [OK]
Hint: Use foreach char in lowercase string and Contains("aeiou") [OK]
Common Mistakes:
  • Using wrong loop indices causing errors
  • Incorrect variable types in loops
  • Not converting string to lowercase before checking
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard