Answer: ↓NEW↓
#include <stdio.h>
#include <string.h>
int main() {
char input[100];
char first[50];
int i, len;
while (1) {
printf("Enter input string:\\");
fgets(input, 100, stdin);
len = strlen(input);
if (len > 0 && input[len-1] == '\\') {
input[len-1] = '\0';
}
if (strcmp(input, "q") == 0) {
break;
}
int found_comma = 0;
for (i = 0; i < len; i++) {
if (input[i] == ',') {
found_comma = 1;
break;
}
}
if (!found_comma) {
printf("Error: No comma in string.\\");
continue;
}
int j = 0;
for (i = 0; i < len; i++) {
if (input[i] == ' ') {
continue;
}
if (input[i] == ',') {
first[j] = '\0';
break;
}
if (j < 50) {
if (input[i] >= 'A' && input[i] <= 'Z') {
first[j] = input[i] - 'A' + 'a';
} else {
first[j] = input[i];
}
j++;
}
}
printf("First word: %s\\", first);
}
return 0;
}
Step-by-step explanation:
↓OLD↓
#include <stdio.h>
#include <string.h>
int main() {
char input[100];
char first[50], second[50];
int i, len;
while (1) {
printf("Enter input string:\\");
fgets(input, 100, stdin);
len = strlen(input);
if (len > 0 && input[len-1] == '\\') { // remove newline character
input[len-1] = '\0';
}
if (strcmp(input, "q") == 0) { // check if user wants to quit
break;
}
// check if input contains a comma
int found_comma = 0;
for (i = 0; i < len; i++) {
if (input[i] == ',') {
found_comma = 1;
break;
}
}
if (!found_comma) { // report error if no comma is found
printf("Error: No comma in string.\\");
continue;
}
// extract first and second words and remove spaces
int j = 0;
for (i = 0; i < len; i++) {
if (input[i] == ' ') {
continue;
}
if (input[i] == ',') {
first[j] = '\0';
j = 0;
continue;
}
if (j < 50) {
if (input[i] >= 'A' && input[i] <= 'Z') { // convert to lowercase
first[j] = input[i] - 'A' + 'a';
} else {
first[j] = input[i];
}
j++;
}
}
second[j] = '\0';
j = 0;
for (i = 0; i < len; i++) {
if (input[i] == ' ') {
continue;
}
if (input[i] == ',') {
j = 0;
continue;
}
if (j < 50) {
if (input[i] >= 'A' && input[i] <= 'Z') { // convert to lowercase
second[j] = input[i] - 'A' + 'a';
} else {
second[j] = input[i];
}
j++;
}
}
second[j] = '\0';
printf("First word: %s\\", first);
printf("Second word: %s\\", second);
}
return 0;
}
This program prompts the user for a string that contains two words separated by a comma, and then extracts and removes any spaces from the two words. It uses a loop to handle multiple lines of input, and exits when the user enters "q". Note that the program converts all uppercase letters to lowercase.