昨天师父给的任务,让写一个多线程计算一个1000以内输入数的阶乘和的小程序。我用C语言来实现,过程都是自己想出来的,中间出过在用循环的时候采用unsigned类型判断出错的问题。
以下是该程序的实现,这里只是先把过程写出来,还没有用到多线程……
// methods.c
#include <stdio.h>
long double Fn(int n);
int main(void)
{
long double sum = 0;
int i, n;
i = n = 0;
printf("Please input a number: \n");
scanf("%d", &n);
if (n > 1000 )
printf("ERROR!The number is too large!\nPlease try again!(0~1000)\n");
else if (n < 0)
printf("ERROR!The number is invalid!\nPlease try again!(0~1000)\n");
else
{
for (i = 0; i <= n; i++)
sum += Fn(i);
printf("The %d factorial's sum is %Lf\n", n, sum);
}
return 0;
}
long double Fn(int n)
{
if (n == 0)
return 1;
return Fn(n - 1) * n;
}
利用多线程的实现,我会在月底之前写出来。
以下是执行结果:
- 大小: 507.5 KB
分享到:
相关推荐
c 语言编写1000的阶乘 c 语言编写1000的阶乘
下载之后使用轻松汇编打开之后,代码直接保存一下,然后在进行编译,以及后面的运行,输入的数据是0-9的数据,每次只能输入一个数据。如果想要实验多次的话,运行多次,输入不同的结果,然后分别进行截屏!
此程序是用来递归法写的, 可以实现求n的阶乘。
阶乘实现代码,对初学者很有价值,值得看下
"ARM汇编语言程序设计实例解析-阶乘操作" ...ARM汇编语言程序设计-阶乘操作是一个非常重要的知识点,通过这个实例,我们可以了解ARM汇编语言程序设计的思想、流程和实现方法,并且可以应用于各种领域。
c 语言表达式求值,自认为不错 功能比较齐全
用C语言来实现1-10000的阶乘运算,克服了平常数据会溢出的问题。
ARM汇编指令,实现C中调用汇编的阶乘程序
C语言实现N的阶乘的算法
示例是C语言实现的用于计算n阶乘数字的程序。阶乘是一个数学运算,定义为大于1的整数n的所有正整数值的乘积。在这个程序中,我们使用标准C库所提供的printf函数和scanf函数,从用户那里获取输入,并显示输出结果。 ...
该程序能求出0-2000的阶乘,使用链表实现,能动态的扩充存储结果。。。。。
此函数的实现很简单, (从高位开始) 每位逐次左移一位,最后在末位补0 。 2. 模拟正整数乘以一位数m 的函数multi m: void multi m(int m ,int b[ ]) { int carry = 0 ,c = N - 1 ,k ; while (b[c ] = = 0) c - -...
C/C++实现的高位阶乘程序,能够实现计算机所不能处理的高位阶乘!是递归思想的经典例子!
使用 C 语言实现的计算非负整数的阶乘, 代码定义了一个factorial函数,它使用循环来计算一个给定非负整数的阶乘。main函数从用户那里获取输入,调用factorial函数,并输出结果。如果输入的是一个负数,factorial...
自己写的计算阶乘的程序,能近似计算4亿以下的数字的阶乘。并且能精确到100位以上,且可任意设置。希望对你有所帮助
c语言 10的阶乘 简单的实现,对初学者由点用吧
c代码-编写一个求阶乘的函数Fact(),然后在主函数中,计算并输出1到n之间所有数的阶乘值
实现k的阶乘算法,该算法是以C实现的,简单明了。适合初学者