作业帮 > 综合 > 作业

C语言指针问题求指错题目要求是:某多项式(polynomial)的描述如下:1 - 1/2 + 1/3 - 1/4 +

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/31 07:09:04
C语言指针问题求指错
题目要求是:
某多项式(polynomial)的描述如下:
1 - 1/2 + 1/3
- 1/4 + 1/5 - 1/6 + ...
现在请你求出该多项式的前n项的和.
输入要求:
输入数据由2行组成,首先是一个正整数T,表示测试用例的个数.
第二行包含T个正整数,对于每一个整数n(
n < 1000 ),求该多项式的前n项的和.
输出要求:
对于每个测试实例n,要求输出多项式前n项的和.每个测试实例的输出占一行,结果保留8位小数.
#include
int main(void)
{
int t,k,f=1,n,*p;
float s;
scanf("%d",&t);
if((p=(int*)calloc(t,sizeof(int)))==NULL){
printf("not able to allocate memory.\n");
exit(1);
}
for(i=0;i
#include <stdio.h>
#include <stdlib.h>  //exit和calloc的头文件
int main(void)
{
 int t,k,f=1,n,*p,i;   //漏了i的定义了
 float s;
 scanf("%d",&t);
 if ((p=(int*)calloc(t,sizeof(int)))==NULL){
  printf("not able to allocate memory.\n");
  exit(1);
 }
 for (i=0;i<t;i++)
  scanf("%d",p+i);
 for (k=0;k<t;k++){  //条件是k<t
  n=*(p+k);
  s=0;
  f=1;   //每次内循环f也要重置
  for (i=1;i<=n;i++){
   s=(1.0/i)*f+s;   //1.0/i,不然就是整数除法
   f=-f;
  }
  printf("%f",s);
 }
 free(p);   //要养成释放的习惯
 return 0;
}