正整数转换成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\n",&num);//读入N进制
   //读入整数数据
    scanf("%d\n",&input);
    jinzhi_change_2(input,num);
    for(int i=SIZE;i>=0;i--)//这里注意数组是从第0位开始存储的
    {
        if(data[i]!=0){//输出不是零的位数就可以
            printf("%d\n",data[i]);}
    }
    //system("pause");
}

测试用例:
input.txt

8
42798

posted @ 2016-11-22 14:02  Pumpkin0227  阅读(253)  评论(0编辑  收藏  举报