Text Reverse(hdu1062)

输入方式:先输入整数,再循环输入字符串。

思考:字符串中有空格。那么要在字符串大循环输入前,首先,用"getchar()"函数读取scanf_s()函数缓冲区的空格或者空行或者换行符,避免它们直接当做字符串的第一个字符而输入,造成输入错误。其次,字符串的输入用”gets_s()“函数,因为它能够读取空格符,把回车键当成字符串输入的结尾符号‘’。(注意:每个字符串是整体输入的)。

注意:%c,&d相当于getchar()函数的作用。

gets_s()函数输入字符串和scanfs_s函数不同,不用和考虑scanf_s()函数一样,考虑上一个gets_s()函数对下一个gets_s()函数输入字符串的影响。

#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
int  main()
{
    char ch[1000];
    int T;
    scanf_s("%d", &T);
    getchar();
    while (T--)
    {
        gets_s(ch);
        int d = strlen(ch);
        ch[d] = ' ';
        for (int i = 0; i<d + 1; i++)
        {
            if (ch[i] == ' ')
            {
                for (int j = i - 1; j >= 0; j--)
                {
                    if (ch[j] == ' ')
                        break;
                    printf("%c", ch[j]);
                }
                if (i != d)
                    printf(" ");
            }
        }
        printf("
");
    }
}
原文地址:https://www.cnblogs.com/Strugglinggirl/p/5986581.html