zoukankan      html  css  js  c++  java
  • POJ 1001 Exponentiation

    已经找到错误:10 100 330 这样10的倍数转换的不对

    # include <stdio.h>
    # include <string.h>


    int main()
    {
    int d, n, e, ans[150];
    int i, j, tmp, c;
    char b[6];

    // freopen("in.txt", "r", stdin);
    // freopen("out.txt", "w", stdout);

    while (scanf("%s%d", b, &e) != EOF)
    {
    n = 0;
    d = 1;

    for (i = 0; b[i] != '\0'; ++i)
    if (b[i] != '.')
    {
    n += (b[i]-'0');
    n *= 10;
    }
    else d = 6 - i;
    while (d!=0 && n%10==0)
    {
    n /= 10;
    --d;
    }

    // printf("%d %d\n", n, d);

    memset(ans, 0, sizeof(ans));

    for (ans[0]=1, i=0; i < e; ++i)
    for (c=0, j=0; j < 150; ++j)
    {
    tmp = n*ans[j] + c;
    ans[j] = tmp % 10;
    c = tmp / 10;
    }

    i = 149;
    d = e * d;
    while (!ans[i] && i>=d) --i;
    for (; i >= d; --i) printf("%d", ans[i]);
    if (d != 0)
    for (printf("."); i >=0 ; --i)
    printf("%d", ans[i]);
    printf("\n");
    }

    return 0;
    }

    泪奔啊,各种严酷的测试都试了 可就是WA啊

    谁有数据可以试试,帮忙找一下哪里错了,小弟在这里谢谢各位大牛了!

    # include <stdio.h>
    # include <string.h>


    int main()
    {
    int d, n, e, ans[150];
    int i, j, tmp, c;
    char b[6];

    // freopen("in.txt", "r", stdin);
    // freopen("out.txt", "w", stdout);

    while (scanf("%s%d", b, &e) != EOF)
    {
    n = 0;
    d = 1;

    for (i = 0; b[i] != '\0'; ++i)
    if (b[i] != '.')
    {
    n += (b[i]-'0');
    n *= 10;
    }
    else d = 6 - i;
    while (n%10 == 0)
    {
    n /= 10;
    --d;
    }
    //printf("%d %d\n", n, d);

    memset(ans, 0, sizeof(ans));

    for (ans[0]=1, i=0; i < e; ++i)
    for (c=0, j=0; j < 150; ++j)
    {
    tmp = n*ans[j] + c;
    ans[j] = tmp % 10;
    c = tmp / 10;
    }

    i = 149;
    d = e * d;
    while (!ans[i] && i>=d) --i;
    for (; i >= d; --i) printf("%d", ans[i]);
    if (d != 0)
    for (printf("."); i >=0 ; --i)
    printf("%d", ans[i]);
    printf("\n");
    }

    return 0;
    }



  • 相关阅读:
    git pull遇到错误:error: Your local changes to the following files would be overwritten by merge:
    angular 过滤器(日期转换,时间转换,数据转换等)
    js 毫秒转天时分秒
    使用Vue-Router 2实现路由功能
    vue-cli中安装方法
    Vue 2.5 发布了:15篇前端热文回看
    es6 语法 (模块化)
    es6 语法 (Decorator)
    es6 语法 (Generator)
    js 判断当前是什么浏览器
  • 原文地址:https://www.cnblogs.com/JMDWQ/p/2360995.html
Copyright © 2011-2022 走看看