正整数转换成N进制的数组

给定一个正整数,按照N进制转换成数组元素存储

//给定一个整数,把它转换成按照N进制存储的数组
#include <stdio.h>
#include <stdlib.h>
#define SIZE 20
int data[SIZE]={};//用于存放转换以后生成的数组
int input;//输入的整数值
int num;//N进制

/* 函数名:jinzhi_change_2
*  功能:把一个整数按照N进制转换成数组
*  入口参数:1.int input 输入的整数值
             2.int num   N进制
*  返回值:暂无,转换后的数据放在了全局数组中
*/
void jinzhi_change_2(int input,int num){
        //数组从第0位开始存储
    for(int i=0;i<SIZE;i++){    
       data[i] = input % num;
       input = input / num;
       if(input<1) break;
    }
    return;
}
    
int main(){
    freopen("input.txt","r",stdin);
    scanf("%d
",&num);//读入N进制
   //读入整数数据
    scanf("%d
",&input);
    jinzhi_change_2(input,num);
    for(int i=SIZE;i>=0;i--)//这里注意数组是从第0位开始存储的
    {
        if(data[i]!=0){//输出不是零的位数就可以
            printf("%d
",data[i]);}
    }
    //system("pause");
}

测试用例:
input.txt

8
42798

大多数想法要么平庸,要么更糟糕,这很大程度上因为绝妙的想法难得一见,而且他们还要在我们身边这个充斥了各种恶俗的所谓常识的环境中孕育生长。
原文地址:https://www.cnblogs.com/linux0537/p/6089008.html