Δημοσιεύτηκε: 23 Μαρ 2012, 00:57
από Ilias95
Κάποια καλύτερη λύση για το 10ο programming project της σελίδας 312;

Η παρακάτω είναι κακή, στραβή και άσχημη αλλά τουλάχιστον δουλεύει:
Μορφοποιημένος Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <string.h> // strcat()

void reverse_name(char *name)
{
char *p = name, first_letter[1+1];

while (*p == ' ') p++; // skip spaces and go to first letter
first_letter[0] = *p;

while (*p != ' ') p++; // go to next space
while (*p == ' ') p++; // skip spaces and go to surname

for (; *p != ' ' && *p; p++, name++)
*name = *p;
*name = '\0';

strcat(name, ", ");
strcat(name, first_letter);
strcat(name, ".");
}

int main(void)
{
char name[80+1] = {'\0'};

gets(name);
reverse_name(name);
puts(name);

return 0;
}