本人在线等,急急急急急急急急急急急急急急急急急急急急急急急急急急急急

请你编一程序实现两种不同进制之间的数据转换。
输入:
输入数据共有三行,第一行是一个正整数,表示需要转换的数的进制n(2≤n≤16),第二行是一个n进制数,若n>10则用大写字母A~F表示数码10~15,并且该n进制数对应的十进制的值不超过1000000000,第三行也是一个正整数,表示转换之后的数的进制m(2≤m≤16)。
输出:
输出仅一行,包含一个正整数,表示转换之后的m进制数。

第1个回答  2012-07-27
3、任意进制转换 【问题描述】 请你编一程序实现两种不同进制之间的数据转换。 【输入格式】 输入数据共有三行,第一行是一个正整数,表示需要转换的数的进制 n(2≤n≤16), 第二行是一个 n 进制数, n>10 则用大写字母 A~F 表示数码 10~ 若 15,并且该 n 进制数对应的十进制的值不超过 1000000000,第三行也是一个正 整数,表示转换之后的数的进制 m(2≤m≤16)。 【输出格式】 输出仅一行,包含一个正整数,表示转换之后的 m 进制数。 【输入样例】change.in 16 FF 2 【输出样例】change.out 11111111 【参考程序】 //By LYLtim uses math; var n,m,len,i,l:byte; sum:longword; s:string; x:longword; a:array[byte]of byte; begin assign(input,'change.in');reset(input); assign(output,'change.out');rewrite(output); readln(n);readln(s);readln(m); sum:=0; len:=length(s); for i:=1 to len do begin if s[i]in['0'..'9']then inc(sum,(ord(s[i])-ord('0'))*n**(len-i)); if s[i]in['A'..'F']then inc(sum,(10+ord(s[i])-ord('A'))*n**(len-i)); end; x:=sum; l:=0; repeat inc(l); a[l]:=x mod m; x:=x div m; until x=0; for i:=l downto 1 do begin if a[i]<=9 then write(a[i]); if a[i]>9 then write(chr(ord('A')+ord(a[i])-10)); end; close(input);close(output); end. 4、数列(sequence.pas)本回答被提问者采纳
第2个回答  2012-07-15
, but still love each other. I love my family. 翻译: 有五人在我家 - 我的父母,弟弟,妹妹和我 我父亲是48岁。他喜欢的基金,带给我们很多欢乐...
第3个回答  2012-07-15
yutyui
第4个回答  2012-07-16
是要C语言编程么?
第5个回答  2012-07-15
等????
相似回答