题目描述
函数是一个特殊的映射,即数集到数集的映射,对于给定的每个自变量都能给定一个确定的值。函数有很多分类,比如线性函数,非线性函数,随机函数,还有一些具有特殊性质的函数等等。小崔觉得函数很神奇,最近致力于学习函数,简单的函数已经不能难住他了,他接下来,要学习分段函数。他刚做到一个分段函数,到现在还没做出来,你能帮帮他吗?
这个分段函数长这样:
F(x)=|x|! -20<=x<0
=√(666888) x=0
=1!+2!+…+x! 0<x<=10
=√(1!+2!+…+x!) 10<x<=20
(√代表根号,-20<=x<=20,x为整数)
要求:多组输入输出
输入
整数
输出
浮点数,保留三位小数
样例输入
-5
0
6
12
样例输出
120.000
816.632
873.000
22868.238
参考代码
#include<stdio.h>
#include<math.h>
int main()
{
int a,i,j;
double sum,sum1,sum2,sum3;
while(scanf("%d",&a)!=EOF)
{
if(a>=-20&&a<0)
{
sum=1;
for (i=1;i<=(-a);i++)
sum=sum*i;
printf("%.3fn",sum);
}
if(a==0)
printf("816.632n");
if(a>0)
{
sum=1;
for(i=1;i<=a;i++)
{
sum1=sum1*i;
sum2=1;
sum3=0;
for(j=1;j<=i;j++)
{
sum2=sum2*j;
sum3=sum2+sum3;
}
}
if(a<=10)
printf("%.3fn",sum3+sum-1);
if(a>10&&a<=20)
printf("%.3fn",sqrt(sum3+sum-1));
}
}
return 0;
}
解析
暂无