输入一个1e9以内的10进制整数n和k(2<=k<=36),输出相应的k进制数
2009-10-18 13:08
309 查看
输入一个1e9以内的10进制整数n和
k(2<=k<=36)
,输出相应的k进制数
============
因为1e9即10亿,转换为最小的k=2共有30位,所以作为输出的数组char nk[30]
因为阿拉伯数字只有0~9一共10个,所以当K>10时,10=A,11=B,12=C以此类推直到35=Z
copy一段网上的10进制转为2进制:
25/2=12......1
12/2=6 ......0
6/2=3 ......0
3/2=1 ......1
1/2=0 ......1
可以发现规律,将n不断除以2,第一个得到余数作最低位,最后一个得到余数作最高位.
然后将余数转换成
为字符,并且将数位按倒序输入数组:
输出则按倒序输出.
k(2<=k<=36)
,输出相应的k进制数
============
因为1e9即10亿,转换为最小的k=2共有30位,所以作为输出的数组char nk[30]
因为阿拉伯数字只有0~9一共10个,所以当K>10时,10=A,11=B,12=C以此类推直到35=Z
char word[36]={"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"};
copy一段网上的10进制转为2进制:
25/2=12......1
12/2=6 ......0
6/2=3 ......0
3/2=1 ......1
1/2=0 ......1
可以发现规律,将n不断除以2,第一个得到余数作最低位,最后一个得到余数作最高位.
然后将余数转换成
为字符,并且将数位按倒序输入数组:
nk[i]=word[remainder];
输出则按倒序输出.
/* Name:整数n转k进制数 Author:Dualeak Date:2009-10-18 */ #include "stdio.h" int main(void) { char word[36]={"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"}; int n=3252, k=22; char nk[30]; int quotient=n, remainder, i; for(i=0;quotient>0;i++){ remainder=quotient%k; quotient=quotient/k; nk[i]=word[remainder]; } for(;i >= 0;i--){ printf("%c",nk[i]); } printf("/n"); return 0; }
相关文章推荐
- 判断是否为润年&&键盘输入一个10000以内的大于零的正整数,输出相应中文标识
- 输入一个整数,如果该整数x符合条件:-1<x<10,则输出“ok”,否则输出“not ok”
- 输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数.输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,
- 输入一个整数,如果该整数x符合条件:-1<x<10,则输出“ok”,否则输出“not ok”
- 输入一个整数,如果该整数x符合条件:-1<x<10,则输出“ok”,否则输出“not ok”
- 输入一个整数,如果该整数x符合条件:-1<x<10,则输出“ok”,否则输出“not ok”
- c语言:有一函数:当x&lt;0,y=-1;x=0,y=0;x&gt;0,y=1;编一程序,输入一个x值,要求输出相应的y值。
- 输入一个整数,如果该整数x符合条件:-1<x<10,则输出“ok”,否则输出“not ok”
- 输入n(n<46)个学生的姓名和成绩,顺序输出这n个学生的姓名和成绩,并输出最高成绩的姓名和成绩。
- 从零开始学_JavaScript_系列(八)——js系列<2>(事件触发顺序、文本读取、js编写ajax、输入验证、下拉菜单)
- 输入阿拉伯数字(整数),输出相应的中文(美团网2014年9月16日笔试题目之中的一个)
- 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n
- 有一函数当x<0时,y=1.x>0时,y=3.x=0时,y=5.编程,输入x,输出y.
- <仅是自己做笔记。。。系列-13>输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数, 使其和等于 m ,要求将其中所有的可能组合列出来.
- 【c语言】有一函数:x < 0 ,y = -1;x = 0,y = 0;x > 0,y = 1,编程输入一个x值,要求输出对应的y
- 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39
- 4.输入正整数n <= 20,输出一个n层的正三角形。
- 读入一个整数,统计并输出该数字中数字'2'的个数。
- 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39
- 通过键盘输入100 以内正整数的加、减运算式,请编写一个程序输出运算结果字符串