HDU 2015 偶数求和 解题报告

一个WA的代码

题目 http://acm.hdu.edu.cn/showproblem.php?pid=2015

#include<stdio.h>
int main()
{
    int n,m,p,q,i,t;
    while(scanf("%d %d",&n,&m)!=EOF)
    {
        t=m;
        p=n/m;
        q=n%m;
        for(i=1;i<=p;i++)
        {
           printf("%d ",t+1);
           t=t+2*m;

        }
        if(q==0)
        printf("\b\n");
        else
        printf("%d\n",2*m*p+1+q);

    }
    return 0;
}

 将代码改成

#include<stdio.h>
int main()
{
    int n,m,p,q,i,t;
    while(scanf("%d %d",&n,&m)!=EOF)
    {
        t=m;
        p=n/m;
        q=n%m;
        for(i=1;i<=p;i++)
        {
           if(i==1)
           printf("%d",t+1);

           else
           printf(" %d",t+1);
           t=t+2*m;

        }
        if(q==0)
        printf("\n");
        else
        printf(" %d\n",2*m*p+1+q);

    }
    return 0;
}

立刻就AC了,这是怎么回事。。。原来是因为第一个代码中的\b导致的,\b这个转义字符是退格的意思,退格不代表删除,退格只是将光标所在位置前移。

不可以用它来解决presentation的空格问题。

原文地址:https://www.cnblogs.com/whatthefy/p/2990449.html