C+语言编译输入一个正整数,计算序列+1+1/2+1/3…的+前+n+项的和
时间: 2023-12-26 13:07:11 浏览: 76
以下是C语言计算序列+1+1/2+1/3…的前n项和的代码:
```c
#include <stdio.h>
int main() {
int n, i;
double sum = 0.0;
scanf("%d", &n);
if (n <= 0) { // 判断输入的合法性
printf("Input Error!\n");
return -1;
}
for (i = 1; i <= n; i++) {
sum += 1.0 / i;
}
printf("sum:%.3f\n", sum);
return 0;
}
```
输入一个正整数n,程序会计算序列+1+1/2+1/3…的前n项和,并输出结果。需要注意的是,程序会判断输入的合法性,如果输入的n小于等于0,则会输出"Input Error!"。
相关问题
输入一个正整数n,输出2/1 + 3/2 + 5/3 + 8/5 + …的前n项之和,保留2位小数(该序列从第二项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)。。用c语言编译
以下是C语言的程序实现:
```c
#include <stdio.h>
int main() {
int n;
float sum = 0, a = 2, b = 1, temp;
printf("请输入项数:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
sum += a / b;
temp = a;
a = a + b;
b = temp;
}
printf("前%d项之和为:%.2f\n", n, sum);
return 0;
}
```
程序中先定义了一个变量n,代表要计算的项数。紧接着定义了三个浮点型变量sum、a和b,其中sum初始化为0,a和b初始化为序列的第一项2/1的分子和分母。
然后通过输入函数scanf()获取用户输入的项数n。接着使用for循环计算该序列的前n项之和,每次循环都将当前项的值加到sum中,同时将a和b更新为下一项的分子和分母。
最后输出结果,保留两位小数,使用printf()函数的格式化输出语句实现。
输入一个正整数n,计算交错序列1-2/3+3/5-4/7+5/9-6/11.....的前n项之和,试编写相应程序c语言
你可以使用C语言编写一个程序来计算交错序列的前n项之和。以下是一个示例程序:
```c
#include <stdio.h>
double calculateSeriesSum(int n) {
double sum = 0.0;
int sign = 1;
int numerator = 1;
int denominator = 1;
for (int i = 1; i <= n; i++) {
double term = (double)numerator / denominator;
sum += sign * term;
sign *= -1;
numerator++;
denominator += 2;
}
return sum;
}
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
double sum = calculateSeriesSum(n);
printf("交错序列的前%d项之和为:%lf\n", n, sum);
return 0;
}
```
你可以将上述代码保存为一个以`.c`为后缀的文件,然后使用C编译器进行编译和运行。程序会要求你输入一个正整数n,并输出交错序列的前n项之和。
阅读全文