diff options
| author | Richard Qin <richard.qin.001@gmail.com> | 2026-09-15 08:16:43 +0800 |
|---|---|---|
| committer | Richard Qin <richard.qin.001@gmail.com> | 2026-09-15 08:16:43 +0800 |
| commit | 4022e5c95210631e4aceb08eaf9d9071aa5aefc4 (patch) | |
| tree | a5922559836e45fb3459a3d070367912e1035b1a /tests/sysy_lvX/047_word_count.sy | |
| download | rcc-master.tar.gz rcc-master.tar.xz | |
Diffstat (limited to 'tests/sysy_lvX/047_word_count.sy')
| -rw-r--r-- | tests/sysy_lvX/047_word_count.sy | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/sysy_lvX/047_word_count.sy b/tests/sysy_lvX/047_word_count.sy new file mode 100644 index 0000000..bf72c73 --- /dev/null +++ b/tests/sysy_lvX/047_word_count.sy @@ -0,0 +1,38 @@ +// Count all the word in the string + +int wc(int string[], int n) { + int inWord; + int i; + int count; + i = 0; + inWord = 0; + count = 0; + while (i < n) { + if (string[i] != 32) { + if (inWord == 0) { + count = count + 1; + inWord = 1; + } + } else { + inWord = 0; + } + i = i + 1; + } + return count; +} + +int main() { + int string[500]; + int temp; + int i; + i = 0; + temp = 0; + while (temp != 10) { + temp = getch(); + string[i] = temp; + i = i + 1; + } + temp = wc(string, i); + putint(temp); + return 0; +} |
