1. 用c語言編寫函數求3!6!9!12!15!18!21!
用帶陵C語言編寫函數求3!6!9!12!15!18!21! double fact(int n)
{
if( n == 1)
return 1;
else
return n*(fact(n-1));
}
int main()
{
int i;
double result = 0.0;
for(i=3;i<22;i+=3)
{result = fact(n);
printf("%lf\n", result);
return 0;
}
編寫函數求3!+6!+9!+12!+15!+18!+21。(c語言)
static int Getreslut(n)
{
int sum=0;
for(int i=3;i<=n;i++){
if(i%3==0){
int mul=1;
for(int j=1;j<=i;j++){
mul=mul*j;
}
sum+=mul;
}
}
return sum;
}
調用使用Getreslut(21)
用C語言編寫函搭行跡數求2!+4!+6!+8!+10!
long fun(int num){
if(num == 0){
return 0;
}
for(int i=1;i<num;i++)
num = num *i;
return num;
}
int main(){
long sum;
for(int i=2;i<=8;i=i+2)
sum += fun(i);
return 0;
C語言編寫函數題
#include <stdio.h>int min(int *a){ int r=0; int i; for(i = 1; i < 5; i ++) if(a[r]>a[i]) r=i; return r;}int main(){ int id, a[5], i; for(i = 0; i < 5; i ++) scanf("%d",a+i); id = min(a); printf("最小值下標=%d, 值=%d\n", id, a[id]); return 0;}
C語言函數編寫
#include<stdio.h>
void Reverse(int arr[], int size);
int main()
{
int arr[10] = {0};
printf("請輸入10個整數:\n");
for (int i=0; i<10; ++i)
{
scanf("%d", &arr[i]);
}
Reverse(arr, 10);
printf("反知並序:\n");
for (int i=0; i<10; ++i)
{
printf("%d ", arr[i]);
}
return 0;
}
void Reverse(int arr[], int size)
{
if (arr == NULL || size <=0)
return;
for (int beg=0, end=size-1; beg < end; ++beg, --end)
{
int tmp = arr[beg];
arr[beg] = arr[end];
arr[end] = tmp;
}
}
c語言中3!+6!+9!+12!+15!+18!+21!如何編程
double確實不夠,20!的話還湊活,21!剛好超, long long int也一樣,用long double吧
#include <stdio.h>
int main()
{
int i;
long double sum,t;
for(i=1,t=1,sum=0;i<=21;i++)
{
t*=i;
if(i%3==0)sum+=t;
}
printf("sum=%.0Lf",sum);
return 0;
}
c語言編寫子函數
#include<stdio.h>char a(){ return 'a';}char b(){ return 'b';}char c(){ return 'c';}char d(){ return 'd';}main(){ printf("我是函數%c\n",a()); printf("我是函數%c\n",b()); printf("我是函數%c\n",c()); printf("我是函數%c\n",d());} 運行結果:
我是函數a
我是函數b
我是函數c
我是函數d
C語言編寫函數求:1+2+3+++......n的值
#include <stdio.h>
循環法
int sum1(int n)
{
int sum = 0;
int i;
for(i = 1; i <= n; i++)
sum += i;
return sum;
}
遞歸法
int sum2(int n)
{
if(n == 1)
return 1;
return sum2(n - 1) + n;
}
公式法
int sum3(int n)
{
return (1.0 + n) / 2 * n;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d %d %d",sum1(n),sum2(n),sum3(n));
}
求解第二題,用C語言編寫函數
題目都沒
編寫函數,計算s=6!+10!+22! 用c語言函數遞歸
#include <stdio.h>double fact(int n){ if(n == 1) return 1; return n*fact(n-1);}int main(){ printf("%.0lf\n", fact(6)+fact(10)+fact(22)); return 0;}
2. 給定一個從{1,2,...,n}到其自身的函數f,判斷函數f的類型,是單射、滿射、雙射C語言編程
double Normcdf (const double &x)
{undefined
double y=x*x;
double fai=1/則盯謹(exp(0.5*y)*2.50662827463100050);//sqrt(2*π)=2.;
double sum=0;
double result;
if (x>孫基=0)
{undefined
if (x>3.0)
{undefined
for (int i=28;i>=1;i--) sum=i/則哪(x+sum);
result=1-fai/(x+sum);
}
else
{undefined
for (int i=28;i>=1;i--) sum=(0.5-i%2)*2*i*y/(2*i+1+sum);
result=0.5+fai*x/(1+sum);
}
3. C語言編程用公式法求π,應該怎麼做
給你提個思路:
在這個公式中有幾個關鍵點:
每一項中有一個規律變化數字源隱1,3,5,7,後面應該是9,11........;可以用i=1; i+=2;來表示。
每一項中都有規律變化分數相乘1/2 × 3/4 ×......這個乘法的碰裂空截止方法為分母<i。
可以根據以上方法列出計算循環代碼,最後一項小於10-6為跳出循笑瞎環條件;
4. 怎樣用C語言編寫數學公式
1、C語言有現場的常用數學函數,所在函數庫為math.h、stdlib.h。
函數名及解釋:
int abs(int i) 返回整型參數i的絕對值
double cabs(struct complex znum) 返回復數znum的絕對值
double fabs(double x) 返回雙精度參數x的絕對值
long labs(long n) 返回長整型參數n的絕對值
double exp(double x) 返回指數函數ex的值
double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存貯在eptr中
double ldexp(double value,int exp); 返回value*2exp的值
double log(double x) 返回logex的值
double log10(double x) 返回log10x的值
double pow(double x,double y) 返回xy的值
double pow10(int p) 返回10p的值
double sqrt(double x) 返回+√x的值
double acos(double x) 返回x的反餘弦cos-1(x)值,x為弧度
double asin(double x) 返回x的反正弦sin-1(x)值,x為弧度
double atan(double x) 返回x的反正切tan-1(x)值,x為弧度
double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x為弧度
double cos(double x) 返回x的餘弦cos(x)值,x為弧度
double sin(double x) 返回x的正弦sin(x)值,x為弧度
double tan(double x) 返回x的正切tan(x)值,x為弧度
double cosh(double x) 返回x的雙曲餘弦cosh(x)值,x為弧度
double sinh(double x) 返回x的雙曲正弦sinh(x)值,x為弧度
double tanh(double x) 返回x的雙曲正切tanh(x)值,x為弧度
double hypot(double x,double y) 返回直角三角形斜邊的長度(z),x和y為直角邊的長度,z2=x2+y2
2、復雜的數學函數可以用自定義函數的形式實現。
例如:
doubleConerVelocity(intA,doublex1,doubley1,doublex2,doubley2,doublet1,doublet2)
{
doubleT,V;
T=acos(abs(x1*x2+y1*y2)/sqrt(x1*x1+y1*y1)/sqrt(x2*x2+y2*y2));
V=(A*(t2-t1))/(2*sin(T/2));
returnV;
}
5. 有m個元素的集合A,有n個元素的集合B,問有多少不同的 從A到B的的滿射函數
你考慮一下,我覺得我的一定是對的。
滿射中B的元素都得有A中元素對應著。而映射也要求A的元素都對著B里的一個,所以B的元素個數要小於等於A的元素個數。
1、m=n時
滿射個數為m!
2、n=m-1時
A中有兩個元素對著B中的一個數,所以在A中取兩個當成一組,然後再全排,所以為Cn2*(m-1)!
3、n=m-2時
A中有三個元素對著B中的一個數,所以在A中取三個當成一組,然後再全排,所以為Cn3*(m-2)!
或A中有兩個對著B中的一個純凱搏,另兩個對著B中的另一個,所以為:孫租
Cn2*C(n-2)2*(m-2)!/2
4、n=m-3時
。。。。。。
但做祥是情況太多了,你看看吧,我沒找到簡單的表示方法。
看了空之物語的方法,嗯,用「隔板」確實是個不錯的選擇。