| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:为什么一直wrong time error啊?In Reply To:为什么一直wrong time error啊? Posted by:whuwinnie at 2008-07-18 14:11:19 > #include <stdio.h>
> #include <string.h>
> #include <stdlib.h>
> #define N 100000000
> long long a[100];
> int main()
> {
> int i, j, dot, flagdot, n, adv,len, flen;
> long long k;
> char s[10],substr[20], str[2000];
> while(scanf("%s%ld",s,&n)!=EOF)
> {
> memset(a, 0, sizeof(a));
> flagdot = 0;
> dot = -1;
> k = 0;
> j = strlen(s) - 1;
> while(s[j] == '0') j--;
> for(i = 0; i <= j; i++)
> {
> if(s[i] != '.')
> k = k * 10 + s[i] - '0';
> else flagdot = 1;
> if(flagdot == 1)
> dot++;
> }
> a[0] = k;
> adv = 0;
> for( i = 0; i < n - 1; i++)
> {
> for(j = 0; j < 99; j++)
> {
> a[j] = a[j] * k + adv;
> adv = a[j] / N;
> a[j] = a[j] % N;
> }
> }
>
> i = 99;
> while(a[i] == 0) i--;
> itoa(a[i], substr, 10);
> str[0] = '\0';
> strcat(str,substr);
> i--;
> while(i >= 0)
> {
> itoa((int)a[i],substr, 10);
> len = 8 - strlen(substr);
> while(len--) strcat(str,"0");
> strcat(str,substr);
> i--;
> }
> len = strlen(str);
> flen = len - dot * n;
> if(flen < 0)
> {
> putchar('.');
> while(flen)
> {
> putchar('0');
> flen++;
> }
> printf("%s\n",str);
> continue;
> }
> else if(flen == len + n || flen == len)
> {
> printf("%s\n",str);
> continue;
> }
> for(i = 0; i < flen; i++)
> putchar(str[i]);
> putchar('.');
> for(i = flen; str[i]; i++)
> putchar(str[i]);
> printf("\n");
> }
> return 0;
> }
>
>
>
>
>
>
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator