#include<stdio.h> int main() { long term=0,sum=0; int a, i, n; printf("Input a,n:"); scanf("%d,%d", &a,&n); for (i = 1; i <= n; i++) { term = term * 10 + a; sum = sum + term; } printf("sum=%d\n", sum); return 0; }
计算1-1/2+1/3-1/4+…+1/99-1/100+…,直到最后一项的绝对值小于10-4为止。
#include<stdio.h> #include<math.h> int main() { int n = 1; float term = 1.0, sign = 1, sum = 0; while (fabs(term)>=1e-4) { term = sign / n; sum = sum + term; sign = -sign; n++; } printf("sum=%f\n", sum); return 0; }
利用e=1+1/1!+1/2!+1/3!+…+1/n!,编程计算e的近似值,直到最后一项的绝对值小于10-5为止,输出e的值并统计累加的项数。
#include<stdio.h> #include<math.h> int main() { int n, count = 1; double e = 1.0, term=1; long fac = 1; for (n = 1; fabs(term) >= 1e-5; n++) { fac = fac * n; term = 1.0 / fac; e = e + term; count++; } printf("e=%f,count=%d\n", e, count); return 0; }
求一分数序列2/1,3/2,5/3,8/5,13/8,21/13…的前n项之和,n的值由键盘输入。
#include <stdio.h> int main() { double sum = 0, a = 2, b = 1; int t, i, n ; printf("Input n:"); scanf("%d", &n); for (i = 1; i <= n; i++) { sum = sum + a / b; t = a; a = a + b; b = t; } printf("sum=%lf\n", sum); return 0; }