zoukankan      html  css  js  c++  java
  • P2084 进制转换

    原题链接 https://www.luogu.org/problemnew/show/P2084

    这个题的思路就是先将输入的数字存到字符数组里,然后求出这一串数字中的非0元素的个数total,并记录最后一位非0元素的位置。输出时,先输出total-1个,最后再补上第total个,这样加号的问题就解决了。(有比我方法更简单的大佬勿喷本蒟蒻)废话少说,上代码!

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    int main()
    {
    int n,len,total=0,p=0,h;            //len求输入的数字的长度,total表示数字串中的非0元素,h用来记录最后一位非0元素的位置
    char a[1001];      
    cin>>n>>a;                              //注意a后面不加任何东西
    len=strlen(a);                          //求数组a的长度len
    for(int i=0;i<len;i++)
    if(a[i]!='0') total++;                   //计算非0元素的个数
    for(int i=0;i<len;i++) 
    {if(a[i]!='0')

    {p++;if(p==total) h=i;}}            //每找到一位非0元素p++,当p==total时,说明是最后一位非0元素,用h记录当前的位置i    
    for(int i=0;i<=len-1;i++)           //输出
    {if(a[i]!='0'&&i!=h) {cout<<a[i]<<"*"<<n<<"^"<<len-1-i<<"+";}}         //i!=0是为了让它只输出a【h】前面的数,只是单纯的处理加号的问题.....
    cout<<a[h]<<"*"<<n<<"^"<<len-1-h;                                       //输出最后一位非0元素a【h】
    return 0;                                 //完美结束!!!

    }

     

  • 相关阅读:
    UDP和TCP是网络通讯
    HTTPS
    Kubernetes Ingress API Ingress资源通过允许API网关样式的流量路由
    30条黄金法则
    工作流
    开发注意H5移动端
    Wireshark TCP
    关于dotnet跨平台 和 移动开发&人工智能 微信公众号
    超燃| 2019 中国.NET 开发者峰会视频发布
    免费下载 80多种的微软推出入门级 .NET视频
  • 原文地址:https://www.cnblogs.com/xcg123/p/10461949.html
Copyright © 2011-2022 走看看