在程序中定义一函数digit(n,k),它能分离出整数n从右边数第k个数字 如 digit(49687,5)=4 digit(2076,5)=0
问题描述:
在程序中定义一函数digit(n,k),它能分离出整数n从右边数第k个数字 如 digit(49687,5)=4 digit(2076,5)=0
我做的.输入(49687,5)后、总是输出0 为什么阿.
var n1,k1:integer;
function digit(n,k:integer):longint;
var i,j:integer;
begin
i:=1;
for j:=1 to k do i:=i*10;
digit:=trunc(n/i);
end;
begin
read(n1,k1);
write(digit(n1,k1));
end.
答
var n1,k1:longint;
function digit(n,k:longint):longint;
var i,j:longint;
begin
i:=1;
for j:=1 to k do i:=i*10;
n:=n mod i;
i:=1;
for j:=1 to k-1 do i:=i*10;
digit:=trunc(n/i);
end;
begin
read(n1);
read(k1);
write(digit(n1,k1));
end.为什么是 k-1 呢