c 语言 定义函数main(),输入正整数n,计算并输出下列算式的值。要求调用函数s(n)计算n+(n+1)+…-+(2n-1)。y=1-2^2/2(2+3)+......+n^2/(n+(n+1)+.....+(2n+1)))
时间: 2023-08-04 18:05:54 浏览: 95
好的,你的问题是关于 C 语言的。那么,下面是 C 语言的代码,可以实现你的要求:
```
#include <stdio.h>
double s(int n)
{
double sum = 0;
for(int i = n; i <= 2 * n - 1; i++)
{
sum += i;
}
return sum;
}
double y(int n)
{
double sum = 0;
double denominator = 0;
for(int i = 1; i <= n; i++)
{
denominator += i + n;
sum += (double)i * i / denominator;
}
return sum;
}
int main()
{
int n;
printf("请输入正整数n:");
scanf("%d", &n);
printf("s(n)的值为:%.0f\n", s(n));
printf("y(n)的值为:%.2f\n", y(n));
return 0;
}
```
在这里,我们定义了两个函数 `s(n)` 和 `y(n)`,分别用于计算题目中给出的两个式子的值。在 `main` 函数中,我们调用了这两个函数,并且通过 `printf` 函数输出结果。
需要注意的是,在 `y(n)` 函数中,我们要计算每个分母的值,因此使用了一个变量 `denominator` 来记录。而在计算分数的时候,要注意将分子或分母中的整数转换为浮点数,以便得到精确的结果。
希望这个代码可以帮助到你!
阅读全文