C语言 利用键盘输入n,输出 1-2/5+3/7-4/9+5/11- (共n项)的值,结果保留3位小数。
时间: 2023-12-12 12:54:45 浏览: 35
```
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n); // 输入n
double numerator = 1.0; // 分子
double denominator = 2.0; // 分母
double result; // 结果
for(int i=1; i<=n; i++){
result = numerator/denominator;
printf("%.3f ", result); // 输出结果,保留3位小数
numerator += 2.0; // 分子加2
denominator += 2.0; // 分母加2
if(i%2 == 0){ // 每两项之间的符号
printf("-");
numerator -= 2.0; // 分子减2,恢复原值
denominator += 2.0; // 分母加2
}
else{
printf("/");
}
}
return 0;
}
```
相关问题
利用c语言编写程序,计算序列1-2/3+3/5-4/7+5/9-6/11+....+(-1)r1n/(2n-1)的前n项之和,要求n为从键盘上获取的10-20之间的正整数。求和结果用输出函数查看,保留三位小数。
```c
#include <stdio.h>
int main() {
int n, r = -1; // 初始为-1
double sum = 0.0;
do {
printf("请输入10-20之间的正整数n:");
scanf("%d", &n);
} while (n < 10 || n > 20);
for (int i = 1; i <= n; i++) {
double a = (double)i; // 分子
double b = 2 * a - 1; // 分母
sum += r * a / b;
r = -r; // 正负号变换
}
printf("前%d项之和为:%.3f\n", n, sum);
return 0;
}
```
用c语言求1-1/2+2/3-3/5+5/8-8/13+…… 前n(1≤n≤35)项的和,n由键盘输入,输出结果保留6位小数。
以下是用 C 语言实现求解的代码:
```c
#include <stdio.h>
int main() {
int n, i, sign = 1;
double sum = 0.0, numerator = 1.0, denominator = 1.0, temp;
printf("请输入n的值:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
temp = numerator / denominator;
sum += sign * temp;
numerator = numerator + denominator;
denominator = numerator - denominator;
sign = -sign;
}
printf("前%d项的和为:%.6f", n, sum);
return 0;
}
```
该程序先接收用户输入的 n 值,然后利用循环计算出前 n 项的和。在循环中,利用 numerator 和 denominator 分别记录每一项的分子和分母,temp 记录每一项的值,sign 记录每一项的符号。计算完一项后,将符号取反、交换 numerator 和 denominator,进入下一轮循环。最后输出结果时,使用 "%.6f" 控制输出精度为 6 位小数。
阅读全文