HDOJ2549 ( 壮志难酬 )

开始没有判断len就一直wa,看了苏哥(lzsz1212)的代码,发现多了一个len判断,添上之后就ac了,但是不明白为啥。

后来网上找到的一句话:又是一道坑爹的题啊,可能给的n大于小数点后的数,就得输出0

Problem : 2549 ( 壮志难酬 )     Judge Status : Accepted
RunId : 5923626    Language : C    Author : qq1203456195
Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta

#include <stdio.h>
#include <string.h>
int main()
{
    int a,n,cas,i,len;
    char ans[1000];
    scanf("%d",&cas);
    while (cas--)
    {
        scanf("%d.%s %d",&a,ans,&n);
        len=strlen(ans);
        if(n<=len)
            printf("%c\n",ans[n-1]);
        else
            printf("0\n");
    }
    return 0;
}

 //下边这种解法,符合题目意思,不知道为啥不能AC

#include <stdio.h>
int e[7]={0,10,100,1000,10000,100000,1000000};
int main()
{
    int cas,n;
    double l;
    scanf("%d",&cas);
    while (cas--)
    {
        scanf("%lf%d",&l,&n);
        printf("%d\n",(int)(l*e[n])%10);
    }
    return 0;
}

 

posted @ 2012-05-10 18:35  ZH奶酪  阅读(237)  评论(0编辑  收藏  举报