郑轻oj1053

#include<stdio.h>
#include<string.h>
#include<math.h>
// 输入x,计算上面公式的前10项和。1053: 正弦函数
//输入一个实数x。
//输出一个实数,即数列的前10项和,结果保留3位小数。

int main()
{
   //思路:又试了好多次
 //  int factorial2(int x);//从x开始的阶乘
   double factorial2(int x);//int装不下
   double n2(int x,double y);//位数,值
   double x;double y=0;
   scanf("%lf",&x);//double类型是lf
  // scanf("%f",&x);经典错误
   for(int a=0,i=1,cnt=1;a<10;a++)//进行10次
   { //自增变量最好定义要定义在for的第一个表达式内,不然每次循环都重复定义
     // int cnt=1;//奇偶判断位,奇正偶负……
      double temp=0;
      if(cnt%2!=0)
      temp=(double)(n2(i,x)/factorial2(i));
      else
      temp=-(double)(n2(i,x)/factorial2(i));
        y+=temp;
         cnt++;
         i+=2;
   }
  printf("%.3f",y);
    return 0;
}

double factorial2(int x)//分母
{
  double  product=1;
    for(int i=1;i<=x;i++)
   {
       product*=i;
   }
// printf("%.0lf \n",product);
return product;
}
double n2(int x,double y)//分子
{
    double f1=1;
    while(x--)
    {
        f1*=y;
    }
    //printf("%.0lf\n",f1);
    return f1;
}

写这一题,我花了2小时,我真笨

,调试还不会用debug,只能一个个输出看看在哪出问题了 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值