#include<stdio.h> int sum(int n) { int a1=1,a2=3,a,b1,b2=2,b; if(n==1) return 1; else if(n==2) return 2; else if(n==3) return 3; else if(n>=4) { for(int m=4;m<=n;m++){ if(m%2==0){ b=a1+a2; b1=b2; b2=b; } else{ a=b1+b2; a1=a2; a2=a; } } if(n%2==0) return b; else return a; } } int main() { int n; while(scanf("%d",&n)!=0) { printf("%d\n",sum(n)); } return 0; } 我这么写显示的是输出超限,能麻烦您帮我看一下问题吗
gets函数前有scanf读取时候,会读取缓存回车导致出错!!!浏览:1099 |
C二级辅导-温度转换 (C语言代码)浏览:2341 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:703 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:692 |
震宇大神的杀毒软件 (C++代码)浏览:1117 |
IP判断 (C语言代码)浏览:763 |
C语言训练-自由落体问题 (C语言代码)浏览:615 |
C语言训练-数字母 (C语言代码)浏览:608 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:569 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:486 |