求和
根据键盘输入的整数n,计算s,其中:s = 1+1/3+1/5+……+1/(2*n-1)
输入有k个用例,第一行为用例个数,接下来k行,每行一个整数,表示n。
对每一个用例,根据上面公式计算s,并输出,要求保留两位小数(四舍五入)。
#include <stdio.h>
int main()
{
double a,d,b,n,s,x;
s=0;
scanf("%lf",&a);
for(b=1;b<=a;b++)
{
scanf("%lf",&n);
{
for(d=1;d<=n;d++)
x=1/(2*d-1);
s=x+s;
}
printf("%.2f\n",s);
}
return 0;
}
找不出错,但是答案不对 #include <stdio.h>
int main(void)
{
int d , k , m , n ;
float s ;
scanf("%d" , & m) ;
for(k = 0 ; k < m ; k ++) scanf("%d" , & n) ;
for(d = 0 ; d < m ; d ++) for(s = 1 , k = 3 ; k < 2 * n ; k += 2) s += 1.0 / k ;
for(k = 0 ; k < m ; k ++) printf("n = %d , s = %.2f\n" , n , s) ;
}
编译、运行实况:
D:\00.Excise\C>g++ -o x x.c
D:\00.Excise\C>x
5
8
9
10
12
13
n = 8 , s = 2.02
n = 9 , s = 2.08
n = 10 , s = 2.13
n = 12 , s = 2.22
n = 13 , s = 2.26
D:\00.Excise\C>
jackz007 发表于 2020-11-7 01:16
编译、运行实况:
可以粗略的解释一下【】的作用吗 程序要写工整一些,自己检查错误也方便
你的程序缩进这么乱,连花括号写错位置都没发现。。。。
#include <stdio.h>
int main()
{
int k,n,i,j;
double s;
scanf("%d",&k); //输入k值
for(j=0;j<k;j++)
{
scanf("%d",&n); //输入n值
s=0; //s赋初值为0,这个必须在循环里面,因为针对不同的n,计算s的时候都有给s赋初值为0
for(i=0;i<n;i++)
s+=1.0/(2*i+1);//for循环,求s值
printf("n=%d,s=%.2f\n",n,s);//输出n和s
}
return 0;
} 西柚西柚 发表于 2020-11-7 08:27
可以粗略的解释一下【】的作用吗
还没学数组吗? 西柚西柚 发表于 2020-11-7 08:27
可以粗略的解释一下【】的作用吗
那是数组 jackz007 发表于 2020-11-7 09:57
那是数组
马上学><
页:
[1]