1. 程式人生 > >編寫一個程式,輸入一個英文句子,將其中單詞位置倒置,單詞內部結構不變。例如“I am from shanghai”倒置為“shanghai from am I”。

編寫一個程式,輸入一個英文句子,將其中單詞位置倒置,單詞內部結構不變。例如“I am from shanghai”倒置為“shanghai from am I”。

#include<stdio.h>
#include<string.h>

void change(char *str)
{
    char temp = 0;
    char *p = str;
    char *start = str;
    char *end = str;

    while(*p !='\0')
    {
        p++;
        end++;
    }
    end = p - 1;
    p = str;
    while(*p !='\0')
    {
        while(start < end)
        {
            temp = *start
; *start = *end; *end = temp; start++; end--; } p++; } } void change1(char *str) { char *p = str; char *start = p; char *end = p; char temp; while(*p != '\0') { if(*p == ' '||*p == '\0') { end = p-1
; while(start < end) { temp = *start; *start = *end; *end = temp; start++; end--; } start = end = p+1; } p++; } end = p-1; while(start < end) { temp = *start
; *start = *end; *end = temp; start++; end--; } } int main() { char str[100] = {0}; printf("input:\n"); gets(str); change(str); change1(str); printf("the result is:%s\n",str); }