hc5181667 2022-09-26 17:22 采纳率: 50%
浏览 29
已结题

输入字符串和一个整数,结束不了循环

循环结束不了,一直在输入。poj1001
#include <iostream>
#include <algorithm>
#include <cmath>

using namespace std;
int main()
{
    char s[199]={'\0'};

    int n=0,x=0;

while(scanf("%s%d", s, &n) == 2) {

    x=0;
    int di = 1, num = 0;
    int a[1000000];
    a[0] = 1;
    int t;
    int nn[100];
    int id = 0;
    int count = 0, f = 0;
    for (int i = 0; i < strlen(s); ++i) {
        if (f) {
            id++;
        }
        if (s[i] == '.') {
            f = 1;
        } else {
            a[count++] = int(s[i] - '0');
        }

    }
    int sq = strlen(s) - 2;
    for (int i = 0; i < strlen(s) - 1; ++i) {
        x += a[sq--] * powf(10, i);
    }
    id *= n;
    a[0] = 1;
    while (n--) {
        for (int j = 0; j < di; ++j) {
            t = a[j] * x + num;
            a[j] = t % 10;
            num = t / 10;
        }
        while (num) {
            a[di++] = num % 10;
            num /= 10;
        }
    }
    int j = 1;
    if (di <= id) {
        cout << ".";
        for (int i = 0; i < id - di; ++i) {
            cout << "0";
        }
    }
    int hhh=0;
    for (int i = 0; i < di-1; ++i) {
        if(a[i]==0){
            hhh++;
        }
        else break;
    }
    for (int i = di - 1; i >= hhh+0; --i) {

        if (j == di - id + 1) {
            cout << ".";
        }
        j++;
        cout << a[i];
    }
    cout << endl;

}
    return 0;
}


  • 写回答

1条回答 默认 最新

  • 关注

    img

    你这个输入应该是&s啊

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月28日
  • 创建了问题 9月26日

悬赏问题

  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振