diff options
| author | Sadeep Madurange <smadurange@users.noreply.github.com> | 2021-11-28 18:35:13 +0800 |
|---|---|---|
| committer | Sadeep Madurange <smadurange@users.noreply.github.com> | 2021-11-28 18:35:13 +0800 |
| commit | 72fb279a20e25cba342b3339a976b97ff28b74d3 (patch) | |
| tree | 83ef9e2fe666467133b9ec0a2dbfd23c1bbca72d /2/4.c | |
| parent | 7605b272e48e6db926e7039c625b9b57baee721f (diff) | |
| download | k&r-exercises-72fb279a20e25cba342b3339a976b97ff28b74d3.tar.gz | |
2.4
Diffstat (limited to '2/4.c')
| -rw-r--r-- | 2/4.c | 43 |
1 files changed, 43 insertions, 0 deletions
@@ -0,0 +1,43 @@ +#include <stdio.h> + +#define MAXLEN 1000 + +void squeeze(char s1[], char s2[]); + +/* deletes any character in one string from another string */ +int main(int argc, char *argv[]) { + int i, c; + char s1[MAXLEN], s2[MAXLEN]; + + printf("input first string\n"); + for (i = 0; i < MAXLEN - 1 && (c = getchar()) != '\n' && c != EOF; i++) + s1[i] = c; + s1[i] = 0; + + printf("input second string\n"); + for (i = 0; i < MAXLEN - 1 && (c = getchar()) != '\n' && c != EOF; i++) + s2[i] = c; + s2[i] = 0; + + squeeze(s1, s2); + printf("result: %s\n", s1); + + return 0; +} + +void squeeze(char s1[], char s2[]) { + int i, j, k, delete; + + for (i = j = 0; s1[i] != 0; i++) { + delete = 0; + for (k = 0; s2[k] != 0; k++) { + if (s1[i] == s2[k]) + delete = 1; + } + + if (!delete) + s1[j++] = s1[i]; + } + + s1[j] = 0; +}
\ No newline at end of file |
