//计算1!+2!+…+100!。要求定义和调用函数fact(n)计算n的阶乘。 #include<stdio.h> double fact(int n); int main(void) { int i,n; double y; y=0; printf("n:"); scanf("%d",&n); //调用函数; for(i=1;i<=n;i++){ y=y+fact(i); } printf("y=%.3f",y); return 0; } //自定义函数 double fact(int n) { int i; double result; result=1; for(i=1;i<=n;i++) result=result*i; return result; }
//编制程序,输入m、n(m≥n≥0)后,计算下列表达式的值并输出。 要求将计算阶乘的运算编写作函数fact(n),函数返回值的类型为float。 #include<stdio.h> int main(void) { int m,n; double y; printf("输入m,n:"); scanf("%d%d",&m,&n); float fact(int x); if(m<n){ printf("错误"); } else{ //计算公式 y=fact(m)/(fact(n)*fact(m-n)); printf("y=%.3f",y); } return 0; } //调用自定义函数输出x! float fact(int x) { double result; int i; result=1; for(i=1;i<=x;i++){ result=i*result; } return result; }
//输入两个正整数m和n(m<n),求从m到n之间(包括m和n)所有素数的和,要求定义并调用函数isprime(x)来判断x是否为素数(素数是除1以外只能被自身整除的自然数)。 #include<stdio.h> #include<math.h> int main(void) { int x,m,n,a; int prime(int a); x=0; printf("输入,m,n:"); scanf("%d%d",&m,&n); //循环寻找素数 for(a=m;a<=n;a++){ if(prime(a)!=0){ x=x+a; } } printf("x=%d",x); return 0; } //调用函数,寻找素数 int prime(int a) { int i,n; if(a==1)return 0; n=sqrt(a); for(i=2;i<=n;i++){ if(a%i==0){ return 0; } else return 1; } }