c语言编程题,急!!!!!

设计程序完成下列公式的计算
已知y=f(x,n)/{f(x+2.3,n)+f(x-3.2,n+3)
其中,f(x,n)=1-x^2/2!+x^4/4!-…+{(-1)^n*x^2n}/(2n)!
(n>=0)
当x=5.6,n=7时,求y的值.
要求通过函数嵌套调用完成计算。
这道题是李震平主编《c语言程序设计项目教程》第199页11题

#include "stdio.h"

main()

{

float sum=0,s=1,t=1,x;  /*s,t最好用浮点,要不然经常溢出,另外初值应当是1*/

 int i,k=1,n;

printf("input x=");

 scanf("%f",&x);

 printf("\ninput n=");

 scanf("%d",&n);


 for(i=0;;i+=2) 

 {

if(i<=2*n)

  {

   sum+=(t/s)*k;

   k*=-1;

  }

  else 

  break;

  s*=(i+1)*(i+2);  /*阶乘的计算要乘以两项*/

  t*=x*x;

 }

 printf("y=%f\n",sum);

 getch(); 


}


/*类似cos的泰勒展开式*/

 谢谢采纳(*^__^*) 

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-05
#include <stdio.h>
double jc(int n)
{
    double s=1;
    int i;
    for(i=1;i<=n;i++)
        s*=i;
    return s;
}
double f(double x, int n)
{
    int i;
    double s=0,c=1;
    if(n<=0)
        return 1;
    for(i=1;i<=n;i++)
    {
        c*=(-1)*x*x/jc(2*i);
        s+=c;
    }
    return s;
}
int main()
{
    double x,y;
    int n;
    scanf("%lf%d",&x,&n);
    printf("%lf\n",f(x,n)/(f(x+2.3,n)+f(x-3.2,n+3)));
}

C语言编程,求解,急用
1、include <stdio.h> main(){int n;printf("请输入分钟数:");scanf("%d",&n);if(n>24*60)printf("%d分钟相当于%d小时%d分钟\\n",n,n\/60,n%60);else printf("%d分钟相当于%d天%d小时%d分钟\\n",n,n\/(24*60),n%(24*60)\/60,n%(24*60)%60);} 2、include <stdio.h> main...

急!急!简单c语言编程题,求编写代码
\/\/第一题#include<stdio.h>void fun(int n){ int i,j,k,t;for(k=0;k<n;k++)\/\/控制总行数{ for(i=0;i<n-k-1;i++)\/\/控制输出空格,因为空格不好看见,就用*代替 printf("%c",'*'); for(j=0;j<2*k+1;j++)\/\/控制输出字母 { printf("%c",65+j)...

c语言编程急急急
C语言程序:include <stdio.h>void main() {double weight;\/* 包裹重量 *\/double distance;\/* 邮寄距离 *\/double fee;\/* 邮资 *\/printf("包裹重量(克):");scanf("%lf", &weight);printf("邮寄距离(公里):");scanf("%lf", &distance);if(weight < 15){fee = 5;}else if(weight ...

c语言小题目。急急急
1. 编程实现:从键盘上接收10个整数,并对其进行排序(要求排成升序)main(){int a[10],i,j,k,t;for(i=0;i<10;i++) scanf("%d",&a[i]);for(i=0;i<9;i++){k=i;for(j=i+1;j<10;j++)if(a[j]<a[k]) k=j;if(k!=i){t=a[k];a[k]=a[i]; a[i]=t;} ...

急!急!急!C语言 题目1、 编程实现将从键盘输入的大写字母改成小写字母并...
题目2:include <stdio.h> void main (){ int a ,b ;printf ("将237转换成小时和分钟输出 \\n") ;a = 237\/60 ;b = 237%60 ;printf ("hour : %d\\nminute : %d\\n",a,b) ;}

c语言编程题,用for循环!急急急
include<stdio.h>int main(){int hg,bhg;for(hg=1;hg<2000;hg++)for(bhg=0;bhg<2000;bhg++)if(hg*5-bhg*18==9931){printf("%d",hg);}return 0;}

c语言编程题,请高手帮忙做一下,拜谢,急急急急……
1.include <stdio.h> double funcPi(int);int main(void){ int arg;printf("Input the argument: ");\/\/ \/\/ 无异常输入 \/\/ while (!scanf("%d", &arg)){ printf("Check your input and retry: ");while (getchar()!='\\n'){ continue;} } while (getchar()!='\\n'){ continue...

C语言简单编程题目两道,求高手做一下。高分!!!
第1题 :include <stdio.h> include <stdlib.h> define MAX 200 int main(void){ int a[MAX], i = 0;srand(time(NULL)); \/\/ 时间种子, 保证真随机, 每次不会相同 while (i < MAX) { a[i] = rand() % 10000; \/\/ 随机获得10000以下数字, 0-9999 if (a[i] < 1000) { ...

C语言编程,有谁可以帮我编出来啊~~~救命啊~
1.include <stdio.h> main(){ int sex;int tal;printf("请键入性别,1表示男,2表示女:\\n");scanf("%d",&sex);printf("请键入身高(cm):\\n");scanf("%d",&tal);if(sex==1){ if(tal==105) printf("体重正常!");else if(tal>105) printf("体重偏轻!");else if(tal<105)...

谁能提供点C语言的试题给我,最好能有答案的,非常感谢!
以下是一些 C 语言的试题,每个试题都附带有答案。希望能够帮助到你。1、编写一个程序,从命令行参数中读取两个整数,计算它们的和并输出结果。答案:include <stdio.h> int main(int argc, char *argv[]) {if (argc != 3) {printf("Usage: %s <int1> <int2>\\n", argv[0]);return 1...

相似回答