编程求n
⑴ 编程实现,要求:求n!用函数实现,n由主函数输入。
//注意,限于整型数据的数据范围,所以实际上这个程序只能求n<=12的情况。如果想求更大的,必须为这个阶乘自定义一个数据类型。
#include
using
namespace
std;
int
fact(int
n);
int
main()
{
int
n;
cout<<"求n!,请输入n:\n";
cin>>n;
cout<
return
0;
}
//下面是使用递归函数求n!
int
fact(int
n)
{
if(n==1)
return(1);
else
return(fact(n-1)*n);
}
⑵ 如何用C++编写程序计算n!
#include"iostream.h"
#include"math.h"
#include"stdlib.h"
#include"iomanip.h"
int getn()
{
int n;
cout<<"请输入N!中的N\n";
cin>>n;
while(n<0)
{
cout<<"输入有错!请重新输入!"<<endl;
cin>>n;
}
if(n==0)
exit(1);
return n;
}
int getbitnum(int n)
{
double sum=1.0;
for(int i=1;i<n;i++)
sum+=log10(i);
return (int)sum;
}
char * init(int size)
{
char *pa=new char[size];
if(!pa)
{
cout<<"too large factor of"<<size<<endl;
exit(1);
}
pa[0]=1;
for(int i=1;i<size;i++)
pa[i]=0;
return pa;
}
void calc(char *a,int n)
{
double bitcount=1;
int begin=0;
for(int i=2;i<=n;i++)
{
long and=0;
bitcount+=log10(i);
if(a[begin]==0)
begin++;
for(int j=begin;j<int(bitcount);j++)
{
and+=i*a[j];
a[j]=char(and%10);
and/=10;
}
}
}
void display(char *a,int size)
{
int bit=0;
for(int i=size-1;i>=0;i--)
{
if(bit%60==0)
cout<<endl<<"第"<<setw(3)<<(bit/50+1)<<"个50位:";
cout<<(int)a[i];
bit++;
}
cout<<endl;
}
void main()
{
int n=getn();
int size=getbitnum(n);
char *pa=init(size);
calc(pa,n);
display(pa,size);
delete []pa;
}
楼上的几位代码没有错误,我赞同。但是只能算一些n比较小的阶乘,遇到数字大的就会溢出。楼主可以试试1000的阶乘。我的这个可以算大一点的数
⑶ c语言编程 输入N 求N的阶乘
输入一个正整数n,输出n!*/#include <stdio.h> //编译预处理命令
int factorial(int n); //函数声明
int main(int argc, char const *argv[]) //主函数
{
int n; //变量定义
scanf("%d", &n); //输入一个整数
printf("%d
", factorial(n)); //调用函数计算阶乘
return 0;
}int factorial(int n) //定义计算n!的函数
{
int fact = 1;
for (int i = 1; i <= n; ++i)
{
fact = fact*i;
}
return fact;
}
拓展资料
特点
1. C语言是高级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
2.C语言是结构式语言。结构式语言的显着特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
3.C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大。
4. C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX、LINUX等等;也适用于多种机型。C语言对编写需要硬件进行操作的场合,明显优于其它高级语言,有一些大型应用软件也是用C语言编写的。
⑷ 用C编写程序 求n的值
#include "stdio.h"
void main()
{
int n=0,sum=0;
while(sum<=1000)//判断其和是否小于1000,小于就继续加
{
n++;
sum=sum+(n*10+2);//表达式继续求和
}
printf("n的值为:");
printf("%d",n);//打印出n值
}
打印的数据是n=14;
正是一楼兄弟的解法
⑸ 用C语言编程:编写一个函数,求n!
#include <stdio.h>
main()
{
int i,n,s=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{s*=i;
}
printf("%d!=%d\n",n,s);
}
⑹ 用c语言 编程求N!(n值从键盘输入) 菜鸟求助大侠,在此先谢过。。答案要准确哟
#include <stdio.h>
void main()
{
int n,totol=1,i;
scanf("%d",&n);
for (i=1;i<=n;i++)
totol*=i;
printf("%d\n",totol);
}
⑺ C语言编程求n! (设 n=6 ) , 并计算结果。
//此程序只是适用于一定范围内的自然数,超过范围的属于大数阶乘,楼主有兴趣可以去研究一下
#include
<stdio.h>
int
main()
{
int
i,n,result;
printf("请输入一个自然数:\n");
while(scanf("%d",&n)==1)
{
result
=
1;
//此处包含了0的阶乘值为1
的考虑
for(i=1;i<=n;i++)
{
result
*=
i;//计算阶乘
}
printf("%d!=%d\n",n,result);
printf("请输入下一个需要计算的自然数,结束请按Ctrl
+
C!\n");
}
return
0;
}
⑻ C语言编程:写一个求n!的函数
#include<stdio.h>
intfactn(intn)//求n!
{
inti,f=1;
for(i=1;i<=n;i++)
f=f*i;
returnf;
}
intmain()
{
intx,y,sum;
printf("请输入x,y:");
scanf("%d,%d",&x,&y);
sum=factn(x)+factn(y);
printf("%d!+%d!=%d ",x,y,sum);
return0;
}
⑼ c++编程题 编写函数实现求n!,主程序要求输入n的值,用函数调用的方式求n!的值
限于整型数据的数据范围,所以实际上这个程序只能求n<=12的情况。如果想求更大的,必须为这个阶乘自定义一个数据类型。
#include<iostream> using namespace std;
int fact(int n); int main(){
int n; cout<<"求n!,请输入n: ";
cin>>n; cout<<fact(n)<<endl;
return 0;}
//下面是使用递归函数求n!
int fact(int n){ if(n==1) return(1);
else return(fact(n-1)*n)}
(9)编程求n扩展阅读
一个简单的c++编程例子:
定义一个圆锥体类(yzt),数据成员有半径r,高h,成员函数有:构造函数、求圆锥体体积的valume(),显示函数display(),在main()中定义yzt 的对象s,求r=h=1时的体积,公式:π/3rrh
#include <iostream>using namespace std;//定义标准命名空间
class yzt //定义yzt类{
private:double r,h;
public:yzt(double x=0,double y=0)// 为yzt的构造函数,功能是为r,h赋值
{ r=x;h=y; }double valume()//求圆锥体的体积函数
{ double v=0;v=(3.1415/3)*r*r*h;
return v; }void display() //圆锥体的体积显示函数
{cout<<"圆锥体的体积为:"<<valume()<<endl;}
};int main() //主函数,任何程序都必须有一个main()函数,因为要从它开始执行
{
yzt s(1,1); //定义yzt的对象s.display(); //利用对象s调用yzt的display()函数
return 0;
⑽ c语言 编程实现求n!要求用定义求阶乘的函数
1、打开vs2017软件,新建c语言的工程,首先开头引入头文件,然后调用先调用一下求阶乘的函数和空的主函数,最下方定义prime函数用来求阶乘: