// solution to task 2 of assignment 6. #include #include int string_length(char * my_string); int string_length(char * my_string) { int counter = 0; while(1) { if (my_string[counter] != 0) { counter++; } else { break; } } return counter; } char * put_dot(char * input) { // convention: length does not include the null character. int input_length = string_length(input); int output_length = input_length + 1; char * result = (char *) malloc(sizeof(char) * (output_length+1)); int input_index; int output_index = 0; for (input_index = 0; input_index < input_length; input_index++) { char current = input[input_index]; result[output_index] = current; output_index++; } result[output_length-1] = '.'; result[output_length] = 0; return result; } int main() { int repeats; char * input = (char *) malloc(sizeof(char) * 1000); printf("please enter a string:\n"); scanf("%s", input); char * new_string = put_dot(input); printf("the result string is %s\n", new_string); free(input); free(new_string); }