给定一个正整数,按照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