编写一函数int fun(int n),求1+2+3+…+n的和,并在主函数中调用该函数。

作者&投稿:法向 (若有异议请与网页底部的电邮联系)
编写一个函数计算n!,在主函数中调用该函数求1!+2!+3!+…+10!。 要求:函数要定义在主函数的后面。~

#include
using namespace std;
int factorial(int a);//声明计算阶乘函数
int main()
{
int sum=0,n;
cout<<"请输入n的值"<<endl;
cin>>n;
for(int i=1;i<=n;i++)
{
sum+=factorial(i);//调用函数
}
cout<<"n的阶乘为:"<<sum<<endl;
return 0;
}
int factorial(int a)
{
int result=1;
for(int i=1;i<=a;i++)
result*=i;
return result;
}
输入的n为10时,运行结果如下:

#includeint fun(int n){ int sum=0, i; for(i=1; i<=n; ++i) sum = sum + i; return sum;}void main(){ int n, res; scanf("%d", &n); res = fun(n); printf("结果为:%d", res);}

这种函数有三种写法
①do...while
#include<stdio.h>int fun(int n)
int i=1,s=0;
do
{
s+=i;
i++;
} while(i<=n);

int main()
{
printf(”%d“,fun(n));
return 0;
}

②while
#include<stdio.h>int fun(int n)
int i=1,s=0;
while(i<=n)
{
s+=i;
i++;
return s;
}

int main()
{
printf(“%d“,fun(n));
}

③for
至于for循环的话就是回答你问题的第一个人那个
我这里发布了for,至于原因(您回答的内容与别人回答的内容太相似了)

实现代码有两种,
1.for循环,从1-n,相加,求和
2.用递归

不知道你要哪种呢?

#include
int fun(int n)
{
int s;
s=(1+n)*n/2;
return s;
}
int main()
{
int k;
scanf("%d",&k);
printf("%d\n",fun(k));
return 0;
}

#include<stdio.h>int fun(int n){
int i,s=0;
for(i=1;i<=n;i++)
s+=i;
return s;

}
int main(){
printf("%d", fun(10));
return 0;
}


五华区19831624817: 请编写一个函数int fun(int x)它的功能判断x是否为同构数,若为同构数返回值为1,否则返
子车奋泰嘉: #include<stdio.h> int fun(int x) {int i,t=1; while(x>=t)t*=10; return(x*x%t==x); } int main() {int i; for(i=1;i<10000;i++) if(fun(i))printf("%d\n",i); return 0; }

五华区19831624817: 编写fun函数int fun(int a[], int n),删去一维数组中所有相同的数,使之只剩一个.数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数.例如,一维数组中的数据是:2 -
子车奋泰嘉: 楼上返回的个数少了,应该是j+1. #includeint fun(int a[],int n) { int i,j; for(i=1,j=0;i

五华区19831624817: 编写函数fun,函数原型为:int fun(int a,int b,long*c). -
子车奋泰嘉: #include "stdafx.h"#include <stdio.h> int fun(int a,int b,int *c) { int k1,k2,k3,k4; k1=a%100/10; //a的十位 k2=a%10; //a的个位 k3=b%100/10; k4=b%10; *c=k4*1000+k1*100+k3*10+k2; return *c; } int main(int argc, char* argv[]) { int a,b; int c; printf("输入a,b\n"); scanf("%d%d",&a,&b); c=fun(a,b,&c); printf("%d\n",c); return 0; }

五华区19831624817: 编写函数fun,函数原型为:int fun(int a,int b,long*c). -
子车奋泰嘉: #include "stdafx.h"#include int fun(int a,int b,int *c){ int k1,k2,k3,k4; k1=a%100/10; //a的十位 k2=a%10;...

五华区19831624817: 编写一个函数int fun(int a,int b),将a b 中的两个两位正整数合并成一个新的整数放在c中.合并方式是:将 -
子车奋泰嘉: #include "stdio.h"int fun(int a, int b){ int c = b%10*1000+a/10*100+b/10*10+a%10; return c;}int main(void){ int m = 12, n = 54; printf("%d", fun(m,n)); return 0;}记得给我加分哦

五华区19831624817: 14.请编写一个函数int fun(int x),它的功能是:
子车奋泰嘉: int fun(long x) {int s,i,n,t=1,k; if(x&lt;10000) { s= x*x; printf("请说明它是几位数?"); scanf("%d",&amp;n); for(i=0;i&lt;n;i++) {t=10*t; } k=s%t; } if(k==x) return 1; else return 0; } 下面是另外一种方法 #include"stdio.h" int fun(long x) { if(x&lt;...

五华区19831624817: 计算机二级机试的一道题,编写函数int fun (int lim,int aa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求出的素数... -
子车奋泰嘉:[答案] 有点错误,正解如下 for(j=2;j=i/2) { aa[k]=i; k++; }

五华区19831624817: 编写函数int fun(int a,int b)用以求a被b除之后的余数 -
子车奋泰嘉: #include <stdio.h>//无误及时采纳回答 int main() { int a=12,b=5; printf("%d被%d除之后的余数为%d\n",a,b,fun(a,b)); } int fun(int a,int b) { return a%b; }

五华区19831624817: 请编写一个函数int fun(int *s,int t,int *k),用来求出数组最大元素在数组中下标并存放在k的储存单元中? -
子车奋泰嘉: #include <conio.h> #include <stdio.h> int fun(int *s,int t,int *k) { int i,min=*s; *k=0;for(i=0;i<t;i++) { if(min>*s) { *k=i; min=*s; } s++; } } void main(){ int a[10]={234,345,753,134,436,458,100,321,135,760},k;clrscr();fun(a,10,&k); printf("%d,%d\n",k,a[k]); }

五华区19831624817: 编写函数int fun(int x,long int y),功能:计算满足x0+x1+x2+...+xn<y的最大的n并作为函数返回值带回 -
子车奋泰嘉: #include <math.h>#include <stdio.h> int fun(int x,long int y) { int n=0,m=0; while(1) { m+=pow(x,n); if(m>=y)break; n++; }; return n-1; } int main() { printf("%d\n",fun(2,1000)); return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网