请问如何用定义指针的方法编写任意一个数的阶乘?这个数由键盘中获取.麻烦写出示例代码.
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/23 16:41:37
请问如何用定义指针的方法编写任意一个数的阶乘?这个数由键盘中获取.麻烦写出示例代码.
要用到指针变量么?
#include "stdio.h"
void getFact(int n,int *fact)// 函数功能是计算n的阶乘,然后存到fact指向的变量里去
{
int i,sum=1;
if(n==1||n==0)
*fact=1;
for(i=1;i<=n;i++)
sum*=i;
*fact=sum;
}
int main()
{
int n,sum;
int *p=∑
scanf("%d",&n);
getFact(n,p);
printf("%d!=%d\n",n,*p);//这儿*p改成sum也是一样的
}
结果:
再问: 当输入的数比较大的时候得到正确的计算结果不用指针来处理?long型int double型都有范围的限制哇。怕是不够用呀。
再答: 哦,你是说要用指针数组来处理很大的数的阶乘是吧, 比如50!这个数的确太大,只能用字符数组来处理,我想想。
再问: 对,是要处理大数的阶乘。
再答: 0-99的阶乘: #include "stdio.h" #include "string.h" #include "stdlib.h" int main() { int n,i,j,k,p,t,a[50]; char str[100]; while(1) { for(i=0;i
#include "stdio.h"
void getFact(int n,int *fact)// 函数功能是计算n的阶乘,然后存到fact指向的变量里去
{
int i,sum=1;
if(n==1||n==0)
*fact=1;
for(i=1;i<=n;i++)
sum*=i;
*fact=sum;
}
int main()
{
int n,sum;
int *p=∑
scanf("%d",&n);
getFact(n,p);
printf("%d!=%d\n",n,*p);//这儿*p改成sum也是一样的
}
结果:
再问: 当输入的数比较大的时候得到正确的计算结果不用指针来处理?long型int double型都有范围的限制哇。怕是不够用呀。
再答: 哦,你是说要用指针数组来处理很大的数的阶乘是吧, 比如50!这个数的确太大,只能用字符数组来处理,我想想。
再问: 对,是要处理大数的阶乘。
再答: 0-99的阶乘: #include "stdio.h" #include "string.h" #include "stdlib.h" int main() { int n,i,j,k,p,t,a[50]; char str[100]; while(1) { for(i=0;i
请问如何用定义指针的方法编写任意一个数的阶乘?这个数由键盘中获取.麻烦写出示例代码.
编写程序:从键盘上输入一个自然数,输出该数的阶乘.
java编程实现:从键盘任意输入一个数,判断这个数是不是7的倍数.
编写程序,从键盘输入任意n个整数,用指针方法找出其中最大和最小的数?
请问:如何用Matlab语言编写在N个数中随机选m个互不相同的数!
从键盘上输入一个自然数,输出该数的阶乘.
VFP编程:从键盘上输入一个自然数,输出该数的阶乘.
如何用C语言编写一个计算机程序,实现任意输入三个数a,b,c,将他们按照从大到小的顺序输出
VB语句问题,用递归的方法,求任意数的阶乘.
如何用Matlab语言编写在1~14的数中随机选14个互不相同的数!
编写程序,通过指针变量作为函数参数调用的方法,求任意三个数字之和与三个数之乘
求阶乘运算程序内容:从计算机键盘任意输入一个1位十进制数据,要求使用汇编语言编写程序实现计算该数据的阶乘,要求屏幕有提示