zoukankan      html  css  js  c++  java
  • N进制数组转换成正整数

    给定一个任意长度的数组,其中的元素按照一定的进制(N进制)来转换成正整数

    //把数组中的元素按照N进制转换成为正整数
    #include <stdio.h>
    #include <stdlib.h>
    #define SIZE 20 //这里SIZE的值一定要大于需要的数组长度,剩下的空余的数组元素默认为零。函数里面有对于零的处理
    int data[SIZE] = {};//用于存放N进制的数组
    int num;//N进制
    
    /*
    * 函数名:jinzhi_change
    * 函数功能:进制转换
    * 入口参数:1.int data[SIZE] 存放需要转换成整数的N进制的数组 
    *           2.int num N进制
    * 返回值:返回最后计算得出的转换成的整型数值
    */
    int jinzhi_change(int data[SIZE],int num)
    {
        int size = SIZE;//局部变量,用来去掉数组为零的那些数字
        for(int i=SIZE-1;i>=0;i--){//从后向前找第一个不是零的数字作为转换的起始位
            if(data[i]==0){
            size --;}
        }
        int output=0;//最终输出值
         for(int j=size-1;j>=0;j--)//从后向前按权值展开
        {
            int temp =1;
            for(int k=size-1;k>j;k--)
            {temp = temp *num;}
            output += temp* data[j];
        }
         return output;
    }
    int main(){
        freopen("input.txt","r",stdin);
        scanf("%d",&num);//读入N进制
            for(int i=0;i<SIZE;i++){//读入数据
                scanf("%d",&data[i]);}
        printf("%d
    ",jinzhi_change(data,num));
        //system("pause");
    }

    测试用例:

    input.txt

    8
    1 2 3 4 5 6 7 1 2 3

    大多数想法要么平庸,要么更糟糕,这很大程度上因为绝妙的想法难得一见,而且他们还要在我们身边这个充斥了各种恶俗的所谓常识的环境中孕育生长。
  • 相关阅读:
    Axure高保真开关交互效果
    Axure工具栏展开关闭交互效果
    Axure跑马灯交互效果
    for循环实现百钱买百鸡的问题: 公鸡5元一只,母鸡3元一只,小鸡1元3只,100元要买100只鸡?有多少买法?
    git的几种撤销提交方式
    react父子组件之间传值
    pm2 常用命令
    Dva.js 入门级教学文档-2
    Dva.js 入门级教学文档-1
    深入理解call函数
  • 原文地址:https://www.cnblogs.com/linux0537/p/6088835.html
Copyright © 2011-2022 走看看