C语言指针问题求指错题目要求是:某多项式(polynomial)的描述如下:1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ...现在请你求出该多项式的前n项的和.输入要求:输入数据由2行组成,首先是一个正整数T,表示测
来源:学生作业帮助网 编辑:六六作业网 时间:2025/01/31 21:51:39
C语言指针问题求指错题目要求是:某多项式(polynomial)的描述如下:1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ...现在请你求出该多项式的前n项的和.输入要求:输入数据由2行组成,首先是一个正整数T,表示测
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
C语言指针问题求指错题目要求是:某多项式(polynomial)的描述如下:1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ...现在请你求出该多项式的前n项的和.输入要求:输入数据由2行组成,首先是一个正整数T,表示测
#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;
}