1){int i;for(i=n;i>1;i--){n=n*(i-1);}return n;}else if(n<0){printf("不能输入负数!");return 0;}else return 1..._c语言不会的题去哪搜">
赞
踩
有点耐心的看,其实很简单!!!不要嫌太长啊
第一个程序
#include "stdio.h"
/******n!的算法******/
int Factorial(int n)
{
if(n>1)
{
int i;
for(i=n;i>1;i--)
{
n=n*(i-1);
}
return n;
}
else if(n<0)
{
printf("不能输入负数!");
return 0;
}
else return 1;
}
/****** 1!+2!+……+m!的算法********/
int AddFactorial(int m)
{
int i,n;
n=Factorial(m);//初始化
for(i=m;i>1;i--)
{
n=n+Factorial(i-1);
}
return n;
}
/*********************************/
int main()
{
int s=0,i=0;
printf("******************说明******************\n如果求1!+2!+ ……+m!的值请在下面输入m\n\
***************请不要输入太大的值哦*************\n");
printf("请输入要求的值:");
start:scanf("%d",&i);
if(i>0) s=AddFactorial(i);
else if(i<0)
{
printf("不能输入负数,请重新输入:");
goto start;
}
else s=1;
printf("%d\n",s);
return 0;
}
第二个程序
#include "stdio.h"
/********每个元素的求法********/
int Element(int k)
{
int i,m=12;//基数是12每次累加10;
for(i=0;i<=(k-1)*10;i+=10)
{
m=12+i;
}
return m;
}
/******************************/
/*********Y的求法**************/
int AddY(int num)
{
int i,initial;
initial=Element(1);
for(i=2;i<=num;i++)
{
initial=initial+Element(i);
}
return initial;
}
/******************************/
int main()
{
int Y,m;
printf("*****************说明*************\n如果要求12 + 22 + 32 + ....+m,则输入m即可!\n");
printf("输入要求的值:");
scanf("%d",&m);
m=(m-2)/10;
Y = AddY(m);
printf("%d\n",Y);
return 0;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。