Вывести слово наоборот - C (СИ)
Формулировка задачи:
Ребят выручайте нужна помощь
Условие: Вводиться слово нужно чтобы программа написала его наоборот . Если есть возможность напишите код программы )заранее спасибо.
Решение задачи: «Вывести слово наоборот»
textual
Листинг программы
#include<stdio.h>
#include <stdlib.h>
#include <string.h>
char *getword(char *S,char *w)
{
while ((*S<=' ' && *S)!=0)
S++;
while (*S>' ')
*w++=*S++;
*w='\0';
return S;
}
void invert(char *str)
{
char c;
int i,len,n;
len=strlen(str);
n=len/2;
for (i=0;i<n;i++){
c=str[i];
str[i]=str[len-1-i];
str[len-1-i]=c;
}
}
int main()
{
char S[200], *p=S,w[200];
gets(p);
while(*p)
{
p=getword(p,w);
invert(w);
printf("%s ",w);
}
return 0;
}
Объяснение кода листинга программы
В этом коде сначала определяется функция getword, которая разбивает строку на слова. Затем определена функция invert, которая инвертирует порядок символов в строке. В функции main создается массив S для ввода строки, затем вызывается функция gets для ввода строки. После этого в цикле вызывается функция getword для разбиения строки на слова и функция invert для инвертирования порядка символов в каждом слове, после чего инвертированные слова выводятся на экран.