createfunctionjc(@Aint)
returnsbigintas
begin
declare@Rbigint,@Iint
set@R=1
set@I=1
while@I<=@A
begin
set@R=@R*@I
set@I=@I+1
end
return@R
end
‘贰’ 用Transact-SQL语句创建一个求阶乘的函数!!!!
居然用SQL这种集合操作语言,来做类C的函数式语言的事(虽然是可以的):(
现在的老师也太无聊了,估计自己很少真正使用SQL。
/*--=============================================
--Author: Yew
--Createdate:2016-10-26
--Description: 计算阶乘
--testCode-------------
SELECTdbo.uf_Factorial(-1)
SELECTdbo.uf_Factorial(0)
SELECTdbo.uf_Factorial(1)
SELECTdbo.uf_Factorial(10)
SELECTdbo.uf_Factorial(33)--会否溢出?
----History-----------------
--=============================================*/
ALTERFUNCTIONdbo.uf_Factorial(
@N INT
)RETURNSBIGINT
AS
BEGIN
IF@N<0
RETURNNULL--RAISERROR(N'参数N不能为负')
IF@N=0
RETURN1
RETURNdbo.uf_Factorial(@N-1)*@N--递归
END
GO
‘叁’ 编写一个函数求n的阶乘,必须使用MySQL语言编写
实现不了,因为mysql只是一个数据库,而不是一种编程语言,mysql只能识别sql语句,不能编写程序,而用sql语句没有办法实现阶乘的功能,可以用php之类去实现,mysql主要是提供数据库服务的。
‘肆’ 编写一个求阶乘的函数。
#include <stdio.h>
int main(void)
{
int jc(int n);
int k;
printf("请输入n的阶乘:");
scanf("%d",k);
printf("%d",jc(k));
return 0;
}
int jc(int n)
{
int i;
int t =1;
for(i = n; i>0; i--)
{
t= t*i;
}
return t;
}
‘伍’ 用SQL编一个计算阶层的函数,然后建一个主程序调用这个函数,计算出5的阶层。
create function jieceng( @num int)--求阶层
returns int
as
begin
declare @sum int;
declare @i int;
set @i=1;
set @sum=0;
while @i<=@num
begin
set @sum=@sum+@i;
set @i=@i+1;
end
return @sum
end select dbo.jieceng(5)--求5的阶乘
‘陆’ 如何在SQL SERVER中实现阶乘运算
以下为求10的阶乘的代码
declare @i int,@r int
set @i=1
set @r=1
while @i<=10
begin
set @r=@r*@i
set @i=@i+1
end
--显示10的阶乘的结果
print @r
--上面一行也可以换成 select @r
祝你好运!
‘柒’ 怎么在SQL数据库中求一个数的阶乘
摘要 你好!居然用SQL这种集合操作语言,来做类C的函数式语言的事(虽然是可以的):(
‘捌’ 如何在sql中实现阶乘运算
????
这个??
‘玖’ 编写一个函数求n的阶乘,用MySQL语言编写一个函数求n的阶乘,用MySQL语言编写
mysql不是编程语言,是数据库
‘拾’ 用sql语句编出计算并显示1到11的阶乘。
declare @inti int
declare @s bigint
set @s=1
set @inti=1
while @inti<12
begin
set @s=@s*@inti
set @inti=@inti+1
end
print @s