C语言程序作业2

发布时间 2023-11-14 23:18:24作者: mystayx
计算a+aa+aaa+…+aa…a(n个a)的值,n和a的值由键盘输入。
#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;
}