设计c十十编程函数1-2+3…n
#include float fun(int n){ float s=0; int i; for(i=1;i<=n;i++) s+=1/((float)i); return s;}int main(){ int n; scanf("%d",&n); printf("%f",fun(n));}
所谓 n 的阶乘,就是从 1 开始乘以比前一个数大 1 的数,一直乘到 n,用公式表示就是:1×2×3×4×…×(n-2)×(n-1)×n=n!
#include
int main()
{
int i,j,n;
double sum=1,k=0;
scanf("%d",&n);
for(j=1;j<=n;j++){
sum=1;
for(i=1;i<=j;i++)
sum=sum*i;
if(j!=n)
printf("%d!+",j);
else
printf("%d!",j);
k+=sum;}
printf("=%lf",k);
printf("
");
return 0;
}
扩展资料:
注意:
(1)for循环中语句可以为语句体,但要用"{"和"}"将参加循环的语句括起来。
(2)for循环中的"初始化"、"条件表达式"和"增量"都是选择项,即可以缺省,但";"不能缺省。省略了初始化,表示不对循环控制变量赋初值。
省略了条件表达式,则不做其它处理时便成为死循环。省略了增量,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。
(3)for循环可以有多层嵌套。
参考资料:
百度百科-for
这是简单的循环,对于正负号的问题可以记录一个变量来维护该次循环中是正号还是负号,每次循环结束都将这个变量记录的符号反转。以下是样例程序:
int foo(int n)
{
bool sign = true; //true表示正号,false表示负号
int sum = 0;
for (int i = 1; i <= n; ++i) {
if (sign) sum += i;
else sum -= i;
sign = !sign;
}
return sum;
}
当然,n非常大时计算可能需要很久。这时可以考虑利用数学方法简化表达式。当n是奇数时,原式=1+(3-2)+...+(n-(n-1))=1+(n-1)/2=(n+1)/2,当n是偶数时,原式=(1-2)+...+(n-1-n)=-n/2。因此函数可以简单地写成:
int foo(int n)
{
return n % 2 == 0 ? - n / 2 : (n + 1) / 2;
}
两个方法:
1. 老老实实的方法,费时费事
INT cal( int n )
{
INT i ;
INT total = 0 ;
for( i = 1 ; i <= n ; i ++ )
{
if( i % 2 == 0 )
total -= i ;
else
total += i ;
}
return total ;
}
2. 我会采用的方法
INT cal( int n )
{
if( n % 2 == 0 )
return ( 0 - n / 2 ) ;
else
return ( ( n + 1 ) / 2 ) ;
}
void func(int n) {
if (n < 0) {
return;
}
int c = 0;
for (int i = 0; i < n; i++) {
c += (i + 1);
}
cout<<c;
}
c十十编程就业方向
c十十编程就业方向有:嵌入式系统开发、系统软件开发、游戏开发、前端和后端开发等。1、嵌入式系统开发:C语言在嵌入式系统开发中广泛应用。嵌入式系统是指嵌入在其他设备中的专用计算机系统,例如智能手机、汽车电子控制系统、家电等。通过掌握C语言,您可以参与嵌入式软件的开发,包括设备驱动程序、底层系统...
c十十,c,java,visualbasic这几个单词在计算机中是什么意思?
c十十,c,java,visualbasic这几个都是编程语言。C: C语言,面向过程的编程语言,主要用于一些底层的开发,比如Android手机的操作系统的核心就是用C语言编写的。C++:C++语言,在C语言的基础上,进行了全面的改造,以适应面向对象的编程方式。java:Java语言,Sun公司发明的编程语言,多用在手机等移动设备的...
c十十编程要学多久信息竞赛?
函数等。如果您已经学习了 C 语言基础,并且掌握了上述基础知识,那么您可以参加信奥赛初级比赛。但是,请注意,信奥赛初级比赛的难度较高,需要参赛者具备一定的编程能力和逻辑思维能力。因此,建议您在参赛前加深对 C 语言基础知识的理解和掌握,并通过练习题目来提高编程能力和解决问题的能力。
在C十十中,X二7,y二8。y一(X十十)等于多少
y-x++的值为 1 然后x的值为8。
先学c语言还是c十十好
最好是先学习c语言,因为c++是在c的基础上开发的。1、C语言:是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以...
java和c++哪个好
站在这些领域再看两种编程语言,可能java就不是那么香了。如果有需要可以关注下慕课网。慕课网是国内深受欢迎的互联网IT技能学习网站。自2013年成立至今,始终专注IT在线教育,以培养互联网企业实用型人才为己任,邀请一线大厂技术达人打造前沿的IT技术精品课程,赋能全球范围内每一位有梦想、有志向的开发者...
C十十计算机编程入门视频
圣才电子书为您解答:圣才电子书拥有丰富的C++程序设计相关的学习资料:http:\/\/www.100eshu.com\/Ebook\/122302.html
C++和JAVA的分别?
Java没有函数,作为一个比c十十更纯的面向对象的语言,Java强迫开发人员把所有例行程序包括在类中,事实上,用方法实现例行程序可激励开发人员更好地组织编码。8 字符串 c和c十十不支持字符串变量,在c和c十十程序中使用Null终止符代表字符串的结束,在Java中字符串是用类对象(strinR和stringBuffer)来...
java 和 c++
Java没有函数,作为一个比c十十更纯的面向对象的语言,Java强迫开发人员把所有例行程序包括在类中,事实上,用方法实现例行程序可激励开发人员更好地组织编码。8 字符串 c和c十十不支持字符串变量,在c和c十十程序中使用Null终止符代表字符串的结束,在Java中字符串是用类对象(strinR和stringBuffer)来...
先学c语言还是c十十好
C语言 C语言,语法较多,时间相对还是比较多的,所以也可以考虑从C语言入手,因为打好编程基础,以后再学其他语言会很快上手。如果是快速就业,不太适合C语言 C++ 和C语言一样,语法有一定难度,C++是一种最广泛支持范式的编程语言,。当然如果C学的不错,C++上手也会快。HTML5+JS(web前端开发)什么...
岑阳安美: #include<stdio.h> void main() { int i; float k=1,sum=0; for(i=1;i<=20;i++) { k=k*i; sum=sum+k; } printf("\n%f",sum); }
蓝山县13221043174: C++编写程序,计算1!+2!+3!+…+n!...急啊... - ?
岑阳安美: 简单 ,我就不写代码了,说下大致意思吧 就是先写个函数 int fun(int n) {int s=1;for(int i=1;i<=n;i++)s*=i;return s; }然后在主函数中调用反复调用它 int main() {int n;while(cin>>n){int sum=0;for(int i=1;i<=n;i++){sum+=fun(i);}cout<<sum<<endl;} } 这样就可以了 我现在没编译器,但是大致就是这样的
蓝山县13221043174: c语言编写.编程计算1!+2!+3!+……n!的值,其中,n值由键盘输入?
岑阳安美: long int fun(int n) { if(n==1||n==0) return 1; else return n*fun(n-1); } void main(void) { //数的阶乘 int n; long int m; printf("请输入一个整数:"); scanf("%d",&n); m=fun(n); printf("%d! = %d\n",n,(int)m); }
蓝山县13221043174: C语言,编写函数f(n)计算1+2+3+...+n.要求返回double类型. 利用函数编程:输入一个整数n,计 - ?
岑阳安美: #include void main() { int Num,i,j; double dResult; dResult = 0; printf("Please Enter a Number:\n"); scanf("%d",&Num); j = 0; for(i=1;i j = j + i; dResult += (i+0.0)/j; } printf("The Result is %lf",dResult); getch(); return; } 其中dResult += (i+0.0)/j; ...
蓝山县13221043174: 求1+2+3+…+ n,用C语言 - ?
岑阳安美: 2中方法实现 输入X:10050505050 请按任意键继续. . .#include "stdio.h"#include "stdlib.h" int mysum(int x) { return (1+x)*x/2; } int mysum2(int x) { int sum=0; for(int i=1;i<=x;i++) { sum=sum+i; } return sum; } main() { int x=0; printf("输入X:\n")...
蓝山县13221043174: 1!+2!+3!+……+n!求和用C语言编写,要求使用函数嵌套调用 - ?
岑阳安美: #include<iostream> using namespace std; int main() { int n; long int s=0,t=1; cout<<"请输入n:"<<endl; cin>>n; for(int i=1;i<=n;i++) {t=t*i; s=s+t;} cout<<"1!+2!+3!+4!+……+n!="<<s<<endl; return 0; } 扩展资料: return表示把程序流程从被调...
蓝山县13221043174: c++用指针编程计算表达式的值sum=1!+2!+3!+…+n!. - ?
岑阳安美: #include int main() { int i,sum=1,n; int *p = &n; std::cin>>*p; for(i=1;i { sum*=i;} std::cout system("pause"); return 0; } 编译环境:DEV-C 不过我觉得这个问题根本不需要用指针的
蓝山县13221043174: C语言编程题.计算1!+2!+3!+…+n!的值,n从键盘输入(用函数完成阶乘计算) - ?
岑阳安美: #include"iostream.h"#include"windows.h" void main() { int A(int n);//递归求阶乘 cout<<"请输入N值:"; int i,N,sum=0; cin>>N; if(N>0) { for(i=N;i>=1;i--) { sum+=A(i); } cout<<"结果:"<<sum<<endl; } else cout<<"N必须为正整数!\n"; system("pause"); } int A(int n) { if(n>1) return A(n-1)*n; if(n==1) return 1; }
蓝山县13221043174: C语言编程 求1!+2!+3!+........+N! - ?
岑阳安美: #include<stdio.h> int ji(int n) { int sum=1,i=0; while(i++<n) sum*=i; return sum; } int main() { int i,x; double sum=0;//由于阶乘的数很大用int 或long装不下x>35后就计算不出来了此时可以使用double 然后用%e输出结果 printf("输入x:"); scanf("%d",&x); for(i=1;i<=x;i++) { sum+=ji(i); printf("%d!+",i); } printf("=%.2e",sum);}
蓝山县13221043174: C语言题:定义函数total(n) 计算1+2+3+……+n,函数返回值类型是int - ?
岑阳安美: int total(int n){ if(n==1){ return 1; } return n+total(n-1); }