C语言问题

1、根据公式e=1+1/(1!)+1/(2!)+1/(3!)+……。求e 的近似值,精度要求为10-6。
2、读入10个数,计算它们的和、积、平方和及和的平方。
3、计算并输出1!,2!,3!,4!,……,35!。
4、输入20个数,统计其中正、负和零的个数。
5、利用公式: 计算 的值(取前100项)。
谢谢解答啊~~~

1。
#include<stdio.h>
void main()
{
float fac(int n); //声明函数
int s;
float yi=1.0;
printf("input an integer number:");
scanf("%d",&s);
if(s>0) //为正数
for(int i=1;i<=s;i++)
{ yi=yi+yi/fac(i); //1+1/(1!)+1/(2!)+1/(3!)+……。
}
//printf("%d!=%10.0f\n",s,fac(s));
else
printf("n<0,data error!");
printf("1+1/(1!)+1/(2!)+1/(3!)+……。=%10.0f\n",yi);
}
float fac(int n)
{
float f;
if(n==0||n==1)
f=1;
else
f=fac(n-1)*n;
return(f);

}

2。
#include<stdio.h>
void main()
{
float sum=0,ji=1,pingfanghe=1,hepingfang;
int s[10];
printf("input 10 number:");
for(int i=0;i<=9;i++) //输入10个数
{
scanf("%d",&s[i]);
sum=s[i]+sum; //和
ji=ji*s[i]; //积
pingfanghe=pingfanghe+s[i]*s[i];
}
hepingfang=sum*2; //和的平方
printf("这10个数的和、积、平方和及和的平方分别为:%f\n%f\n%f\n%f\n",sum,ji,pingfanghe,hepingfang);
}

3。
#include<stdio.h>
void main()
{
float fac(int n); //声明函数
int s;
printf("input an integer number:");
scanf("%d",&s);
if(s>0) //为正数
printf("%d!=%10.0f\n",s,fac(s));
else
printf("n<0,data error!");
}
float fac(int n)
{
float f;
if(n==0||n==1)
f=1;
else
f=fac(n-1)*n;
return(f);

}
4 .

#include<stdio.h>
void main()
{
int zs=0,fs=0,ls=0,s[20];
printf("input 10 number:");
for(int i=0;i<=19;i++) //输入20个数
{
scanf("%d",&s[i]);
if(s[i]>0)
zs++;
else
if (s[i]==0)
ls++;
else
if (s[i]<0)
fs++;
}
printf("正数:\n负数:\n零:\n%d\n%d\n%d",zs,fs,ls);
}
你最后一个是什么?什么前100?
温馨提示:答案为网友推荐,仅供参考