pascal程序 定义一函数digit(n,k) 使得他回送整数n的从右边开始数第k个数字的值
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 00:18:34
pascal程序 定义一函数digit(n,k) 使得他回送整数n的从右边开始数第k个数字的值
例如
digit(15327,4)=5
我写的程序如下
program zlx52;
var
n,k:longint;
function digit(n,k:longint):longint;
var
a,b:longint;
begin
a:=exp(k*ln(10));
b:=exp((k-1)*ln(10));
digit:=n mod a div b;
end;
begin
read(n,k);
writeln(digit(n,k));
end.
为什么不能执行呢
例如
digit(15327,4)=5
我写的程序如下
program zlx52;
var
n,k:longint;
function digit(n,k:longint):longint;
var
a,b:longint;
begin
a:=exp(k*ln(10));
b:=exp((k-1)*ln(10));
digit:=n mod a div b;
end;
begin
read(n,k);
writeln(digit(n,k));
end.
为什么不能执行呢
类形不匹配错误.
改正后的程序:
program zlx52;
var n,k:longint;
function digit(n,k:longint):longint;
var a,b:longint;
begin
a:=round(exp(k*ln(10))); //此处exp函数结果是实型(real),不能直接赋值给整型变量a和b
b:=round(exp((k-1)*ln(10))); //可以加一个四舍五入函数取整即可.
digit:=n mod a div b;
end;
begin
read(n,k);
writeln(digit(n,k));
end.
再问: 那可不可以直接写成 digit:=n mod exp(k*ln(10)) div exp((k-1)*ln(10)); 呢?
再答: 不能 mod div 都是只能进行整数之间的运算,不能进行实形数之间的运算。 而exp的结果是实型数。
改正后的程序:
program zlx52;
var n,k:longint;
function digit(n,k:longint):longint;
var a,b:longint;
begin
a:=round(exp(k*ln(10))); //此处exp函数结果是实型(real),不能直接赋值给整型变量a和b
b:=round(exp((k-1)*ln(10))); //可以加一个四舍五入函数取整即可.
digit:=n mod a div b;
end;
begin
read(n,k);
writeln(digit(n,k));
end.
再问: 那可不可以直接写成 digit:=n mod exp(k*ln(10)) div exp((k-1)*ln(10)); 呢?
再答: 不能 mod div 都是只能进行整数之间的运算,不能进行实形数之间的运算。 而exp的结果是实型数。
pascal程序 定义一函数digit(n,k) 使得他回送整数n的从右边开始数第k个数字的值
c语言:定义一个函数digit(n,k),它返回整数n的从右边开始数的第k个数字的值
在程序中定义一个函数digit(n,k),它能分离出整数n从右边数第k个数字,如digit(31859,3)=8,dig
编写函数,其返回值为为整数n从右边开始的第k位数字的数.如digit(231456,3)返回4 用c语言
编写递归函数digit(n,k),返回整数n从低位往高位数第k位的数字
C语言编程,写一函数digit(n,k),它把数n从右边起的第k位数字的值给出来,其中n为正整数,若n的位数不足k
定义一个函数digit(n,k),要求输入数字n与k,输出数字n上第k位的数.例:digit(15327,4)=5 di
C语言编程,写一函数digit(n,k),它把数n从右边起的第k位数字的值给出来,其中n为正整数,若n.
编写一个函数digit(n,k),它把数n从右边起的第k位数字的值给出来,其中n为正整数,若n的位数不足k,则函数返回
设计一个函数digit(num,k)返回整数num从左边开始的第K位数字?
设计一个函数digit(num,k)返回整数num从左边开始的第K位数字?谢谢谢谢请用C语言.
pascal选数已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k<n).从 n 个整数中任选 k 个整数相加