このサイトに初めて投稿します。豚のラテン語翻訳プログラムを作成しようとしていますが、文字列内の各単語の最初の文字を削除して単語の末尾に追加するのが困難です。誰かが私に提案を与えることができれば、それは大歓迎です。しかし、私はすでに持っているものを変えすぎないようにしています。文字列関数に関する限り、私は strcpy、strcmp、strlen、および strtok の使用に制限されていますが、包括的なコースで困惑した学生です。
#include <stdio.h>
#include <string.h>
void main (void)
{
char sentence[81]; /* holds input string */
char *platin; /* will point to each word */
printf ("This program translate the words in your sentence.\n");
printf ("Type end to finish.\n");
do /* for each sentence */
{
printf ("\n\nType a sentence until 'stop': \n ");
gets (sentence);
platin = strtok (sentence, " ");
while (platin != NULL) /*Moves translator from word to word */
{
if (strchr("aeiouAEIOU", *platin)) /*Checks for vowels */
{
printf(" %sway ", platin);
}
else if (strchr("bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ",*platin))
{
printf(" %say", platin);
}
platin = strtok(NULL, " ");
}
} while (strcmp(sentence, "stop") != 0 );
}