447908543 发表于 2018-9-28 12:31:11

一个简单的程序但是搞得我很迷

一个基础的函数作业,在dev-c++上运行正常,但是在PTA上提交作业的时候显示编译错误,找了很久也没有找到语法错误,望各位指正,还有就是为什么dev-c++上运行不报错
#include <stdio.h>

int sign( int x );

int main()
{
    int x;

    scanf("%d", &x);
    printf("sign(%d) = %d\n", x, sign(x));

    return 0;
}

/* 你的代码将被嵌在这里 */
int sign (int x)
{
        if(x>0)
{
    return 1;
}
else if(x==0)
{
    return 0;
}
else
{
    return -1;
}
}

网页编译器提示的“a.c:34:5: error: redefinition of ‘main’
int main(void)
   ^~~~”

alltolove 发表于 2018-9-28 12:35:21

可能是PTA的关系吧,那个玩意有说明吗?

447908543 发表于 2018-9-28 12:40:43

alltolove 发表于 2018-9-28 12:35
可能是PTA的关系吧,那个玩意有说明吗?

6-2 符号函数 (10 分)
本题要求实现符号函数sign(x)。

函数接口定义:
int sign( int x );
其中x是用户传入的整型参数。符号函数的定义为:若x大于0,sign(x) = 1;若x等于0,sign(x) = 0;否则,sign(x) = −1。

裁判测试程序样例:
#include <stdio.h>

int sign( int x );

int main()
{
    int x;

    scanf("%d", &x);
    printf("sign(%d) = %d\n", x, sign(x));

    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:
10
输出样例:
sign(10) = 1
--------------------------------------以上是这道题的全部说明了,我很多同学也遇到过在Dev-c++上能运行,但是在这玩意里面编译都不给过的情况{:5_104:} 很无奈

447908543 发表于 2018-9-28 12:42:28

alltolove 发表于 2018-9-28 12:35
可能是PTA的关系吧,那个玩意有说明吗?

说明里面那个否则是sign(x) =-1。

复制错了

pheron 发表于 2018-9-28 13:20:25

你看看你的project(项目)里有几个文件。一个项目里不管有几个文件,只能有一个main函数。

有可能你几个程序都弄到一个项目里去了

alltolove 发表于 2018-9-28 13:44:51

他就是让你实现个符号函数,没让你有main函数

447908543 发表于 2018-9-28 14:36:00

alltolove 发表于 2018-9-28 13:44
他就是让你实现个符号函数,没让你有main函数

哇 还真是,兄弟有操作的啊{:9_232:}
页: [1]
查看完整版本: 一个简单的程序但是搞得我很迷