知识基础:
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分
152 人评分
我还搁那儿倒腾分子上的斐波那契数列…… 居然没看出来……orz
#include<stdio.h> int main() { int n,i; float Qf=2.00,Qm=1.00,sum=0.00; scanf("%d",&n); sum += Qf/Qm; for (i=1;i<n;i++) { Qf=Qf+Qm; Qm=Qf-Qm; sum+=Qf/Qm; } printf("%.2f\n",sum); return 0; } 更简单一些 可以看一下哈~
#include<stdio.h> int main() {long double n=2,m=1,C,sum=0.00,temp,N; scanf("%.2lf",&N); for(N>0;N<=10;N--) { C=n/m; sum=sum+C; temp=m; m=n; n=temp+n; } printf("分数求和的值为%.2lf\n",sum); return 0; } 想知道错在哪了
#include<stdio.h> int main() { float a=2,b=1,sum=0; int i,n; scanf("%d",&n); sum=sum+a/b; for(i=2;i<n;i++) { b=a; a=b+(i-1); sum=sum+a/b; } printf("%.2f",sum); return 0; } 为什么一直显示答案错误呢
百素儿 2019-12-15 16:42:14 |
嗯 已经找到错误了 是规律找错了……
#include<stdio.h> int main() { int n,i; double a=1,b=1,c,d=1,s; scanf("%d",&n); for(i=1;i<=n;i++) { d=a; a=b; b=b+d; c=b/a; s=s+c; } printf("%.2lf",s); return 0; } 这个为什么是错的,运行的答案是对的啊
Rain丶Check 2019-10-28 20:47:43 |
感觉这个玩意很垃圾,我也每次对的总是有问题
小derder 2020-02-04 09:43:08 |
a, b, d后面要, 1.0才可以, 1是不可以的
#include<stdio.h> int main() { int i,N; float a,b,c,d=0; scanf("%d",&N); for(b=1,a=2,i=1;i<=N;i++) { c=a/b+c; d=a; a=a+b; b=d; } printf("%.2f",c); return 0; } 哪错了?
LK 2020-06-24 09:40:30 |
这是正确的啊
用筛法求之N内的素数。 (C语言代码)浏览:646 |
幸运数 (C++代码)浏览:1258 |
陶陶摘苹果2 (C语言代码)浏览:595 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:509 |
1231题解(注意理解“输入多个测试实例”)浏览:785 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:454 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:553 |
孤独的骑士 (C语言代码)浏览:1360 |
C二级辅导-统计字符 (C语言描述——用函数求解)浏览:1156 |
简单的a+b (C语言代码)浏览:597 |
kktry 2021-03-26 22:39:17 |
#include<stdio.h> #include<malloc.h> int main() { int *a,*b; int n; int i; int j; float *c; float s=0; scanf("%d", &n); a=(int*)malloc(sizeof (int) *n); b=(int*)malloc(sizeof (int) *n); c=(float*)malloc(sizeof (int) *n); a[0]=2; a[1]=3; b[0]=1; b[1]=2; for(i=2;i<n;i++) { a[i]=a[i-1]+a[i-2]; } for(i=2;i<n;i++) { b[i]=b[i-1]+b[i-2]; } for(j=0;j<n;j++) { c[j]=(float)a[j]/b[j]; } for(j=0;j<n;j++) { s+=c[j]; } printf("%0.2lf ",s); free(a); free(b); free(c); return 0; }