知识基础:
for(表达式1;表达式2;表达式3){若干语句}//for循环语句及其格式
思路:观察这组数据,设第一项的分子为a,分母为b,则第一项为a/b,第二项为(a+b)/a,第三项为((a+b)+a)/(a+b),第四项为(((a+b)+a))+(a+b))/((a+b)+a)......总而言之,后一项的分子为前一项分子分母的和,后一项的分母为前一项的分子
答案
#include<stdio.h> int main(){ double Sn=0,an=0,n,i,t,a=2.0,b=1.0;//a为分子,b为分母,an为单项和值,Sn为总和 scanf("%lf",&n); Sn+=a/b;//第一项不在规律中,在循环前先加入 for(i=1;i<n;i++){ t=a; a=a+b;//将前一项的分子加分母给后一项的分子 b=t;//将前一项的分子给后一项的分母 an=a/b; Sn+=an; } printf("%0.2lf",Sn); return 0; }
0.0分
155 人评分
#include<stdio.h> main() { float sn,b[255],a[255]={1,2}; int j,i,n=10; scanf("%d",&n); for(i=2;i<=n;i++) { a[i]=a[i-1]+a[i-2]; } for(j=0;j<n;j++) { b[j]=a[j+1]/a[j]; sn+=b[j]; } printf("%.2lf\n",sn); }
#include<stdio.h> int main() { int n,m=0; double a = 1, b = 1, sum = 0; scanf("%d", &n); for (int i = 1; i <= n; i++) { sum = sum + (a + b) / a; m = a; a = a + b; b = m; } printf("%.2lf", sum); return 0; }
#include<stdio.h> int main() { int n,i; float a=1,b=2,t,sum=0; scanf("%d",&n); for(i=0;i<n;i++) { sum+=b/a; t=b; b=a+t; a=t; } printf("%.2f\n",sum); return 0; }
#include<stdio.h> int main() { int i,n; float sum=0; float a=2,b=1; printf("请输入Sn=2/1+(2+1)/2+(2+1+2)/(2+1)+...+N的次数n\n"); scanf("%d",&n); for(i=1;i<=n;i++) { sum+=a/b; a+=b; b=a-b; } printf("Sn=%0.2f\n",sum); return 0; }
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { int i = 0, n = 0; double x = 2.0, y = 1.0, an = 0, Sn = 0, t = 1.0; scanf("%d", &n); for (i = 1;i <= n;i++) { an = x / y; t = x; x = x + y; y = t; Sn += an; } printf("%.2lf\n", Sn); return 0; }
#include<stdio.h> int main() { int i,n; scanf("%d",&n); float j[100],sum=0; j[0]=1; j[1]=2; j[2]=3; for(i=2;i<n+1;i++) { j[i]=j[i-1]+j[i-2]; } for(i=0;i<n+1;i++) { printf("%3.2f ",j[i]); } for(i=0;i<n;i++) { sum=sum+j[i+1]/j[i]; } printf("\n%3.2f",sum); return 0; }
//有一分数序列:2/1 3/2 5/3 8/5 13/8 21/13......求出这个数列的前N项之和,保留两位小数。 //规律分析:分子 2 3 5 8 13 21... 分母 1 2 3 5 8 13 21....。后一个数的分母是前一个数的分子,后一个数的分子是前一个数的分子+分母 int main() { int a; float sum = 0.0; scanf("%d", &a); float y = 1.0;//分母初始值为1 float x = 2.0;//分子初始值为2 for (int i = 1; i <= a; i++)//循环a次 { int z = 0; sum = sum + x/y;//注意:x,y若为int类型 x/y 计算结果为整形不能得到小数 z = y; y = x;//后一个数的分母为前一个数的分子 x = x + z;//后一个数的分子等于前一个数的分子+分母 } printf("%.2f", sum); return 0; }
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:280 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:620 |
剪刀石头布 (C语言代码)浏览:1784 |
2^k进制数 (C语言描述,蓝桥杯)浏览:1449 |
Tom数 (C语言代码)浏览:574 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:638 |
C语言程序设计教程(第三版)课后习题12.1 (C语言代码)浏览:682 |
简单的a+b (C语言代码)浏览:681 |
1162答案错误,为什么浏览:696 |
明明的随机数 (C语言代码)浏览:963 |