我保证我代码没错

P1307 [NOIP2011 普及组] 数字反转

kjw13329347195 @ 2020-02-09 19:45:26

应该又是洛谷的锅。。。。 关键是测试点信息我下载后在我电脑上输出的是对的

#include<stdio.h>
int main()
{
    int i=0,j=0,n=0;
    char a[10],b[10];
    scanf("%s",&a);
    if(a[0]=='-')
    {
        i=j=1;
        b[0]=a[0];
        printf("%c",b[0]);
    }
    for(i;a[i]!='\0';i++)
    {
        a[i]-='0';
        n++;
    }
    for(i=n-1;i>=0&&a[i]!='-';i--)
    {
        b[i]=a[j];
        j++;
    }
    if(b[0]!='-')
    {
        printf("%c",b[0]+'0');
    }
    for(i=1;i<n;i++)
    {
        b[i]+='0';
        if(b[i]!='0')
        {
            printf("%c",b[i]);
        }
    }
    return 0;
 } 

by kjw13329347195 @ 2020-02-09 19:52:05

@function_of_zero 好吧我承认是为了让更多大佬注意到这个贴,帮我瞅瞅 这个自己感觉很简单但是就是想不明白哪错了


by kjw13329347195 @ 2020-02-09 19:53:22

@ACkitty_ans 感谢啊


by 潘予含6号鸭 @ 2020-02-09 19:57:37

aa


by kjw13329347195 @ 2020-02-09 19:57:57

@拥抱渴望者 这个不是最大只有10位数吗?

字符型数组设为15总够了吧


by _Camille_ @ 2020-02-09 19:58:05

@kjw13329347195 话也不能这么说...动不动质疑一道有很多人过了的题好吗...


by kjw13329347195 @ 2020-02-09 20:03:50

@Mr_zherui 您说的对


by Computer1828 @ 2020-02-09 20:05:36

@kjw13329347195 开大点又不会炸内存那干嘛不开呢?


by kjw13329347195 @ 2020-02-09 20:07:28

@拥抱渴望者 您说得对,改成20了,而且也已经发现了别的错误,正在修改


by Zlc晨鑫 @ 2020-02-09 20:24:28

您好,可能是宁的代码有问题:

要么是逻辑错误,要么就是宁的数组没初始化

我也是没初始化,该过来就AC了

还有越界什么的问题宁也可以查一下

额,scanf一个字符串不用&,直接数组名就好了,这样会将其首地址传过去,就像下面这样写

//这只是一个字符串输入的例子,与本题无关
char str[10];
scanf("%s", str);

差不多就是这样了,但是我一个蒟蒻也不敢保证我写的就是对的啊,所以我说错了别怪我啊,因为我是个蒟蒻。


上一页 |