2033. 反转字符串

10175101103-STARK

这题干的描述不够清楚,用python编不会有问题,如果用c的话“每次一行字符串,有空格。多 Case,处理到文件结束。”文件结束的EOF什么时候输入?是一行回车输出然后输入EOF结束程序,还是在一行末尾紧接着EOF然后回车结束程序?这两个产生的EOF值是不一样的,用的条件也不一样,根据测试,题目要求的是后者。

10175102262 LarsPendragon

帮我的室友发代码

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

int main()
{
    char c, s[10005];
    int i=0;
    while((c=getchar())!=EOF)
    {
        if(c==26) break;
        else if(c=='\n')
        {
            for(i--; i+1; i--) putchar(s[i]);
            i=0;
            putchar('\n');
        }
        else
        {
            s[i++] = c;
        }
    }
    return 0;
}
10175101232

请问第二种结束的代码怎么写

10175101282

检测gets是否返回了空指针可以解决这一问题

小傲娇娇娇娇娇娇娇娇娇娇娇娇娇娇娇娇娇娇娇娇娇娇娇娇娇娇娇

include

using namespace std;
main()
{
string s;
while(getline(cin,s)){
reverse(s.begin(),s.end());
cout<<s<<endl;
}
}

13627999316

这个是正解

Canis

include

include

int main()
{
char a[10010];
while(gets(a)!=NULL)//gets碰到EOF返回值是char*类型的NULL
{
int n=strlen(a);
while(n–!=0)
printf(“%c”,a[n]);
printf(“\n”);
}
return 0;
}
上面的代码可以完美运行,但不知道为什么把字符数组长度设为10000会溢出

mansoup

我觉得恰好输入长度为10000的话,你这个a[n]就溢出了,改成while(–n!=0)

Suzuki_Yuuta
#include <iostream>
#include <algorithm>
using namespace std;

int main(int argc, char **argv) {
    string s;
    while (getline(cin, s)) {
        reverse(s.begin(), s.end());
        cout << s << endl;
    }
    return 0;
}
你当前正在回复 博客/题目
存在问题!