2015年考研885编程题
第一题:
#include <stdio.h> #include <math.h> #define N 20 int fun(int n){ if(n==1||n==2) return 1; else return fun(n-1)+fun(n-2); } int main(){ int i,j; FILE *fp=fopen("fab.txt","w+"); int s,sum=0; for(i=1;i<N;i++){ s=fun(i); sum+=s; fprintf(fp,"%d\n",s); } printf("前20项之和%d\n",sum); fclose(fp); return 0; }
第二题:
有个疑问车牌一定是四位数的吗?
#include <stdio.h> #include <math.h> int main(){ int i,j,k,a[10]={0},t; for(i=1000;;i++){ j=i;t=0;k=sqrt(i); while(j!=0){ a[t++]=j%10; j/=10; } if(a[0]==a[1]&&a[t-1]==a[t-2]&&k*k==i){ printf("车牌号是%d\n",i); } } return 0; }
#include <stdio.h> #include <math.h> int main(){ int i,j,k,a[4]={0},t; for(i=1000;i<10000;i++){ j=i;t=0;k=sqrt(i); while(j!=0){ a[t++]=j%10; j/=10; } if(a[0]==a[1]&&a[3]==a[2]&&k*k==i){ printf("车牌号是%d\n",i); } } return 0; }
第三题:
#include <stdio.h> #include <math.h> struct Date{ int y; int m; int d; }time1; int isYear(int year){ if(year<1000||year>9999){ return 0;//年的格式不对 }else if((year%4==0&&year%100!=0)||(year%400==0)){ return 1;//表示是闰年 }else return 2;//表示不是闰年 } int checkMon(int month){ if(month<1||month>12) return 0;//月份的格式不对 else return 1; } int checkDay(){ int Tadays[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; if(isYear(time1.y)==1)//是闰年 Tadays[2]=29; else if(isYear(time1.y)==2)//不是闰年 Tadays[2]=28; if(time1.d<=Tadays[time1.m]) return 1;//天数正常 else return 0;//天数不正常 } void EndDate(int days); int main(){ printf("please input date\n"); int a,b,c; scanf("%d%d%d",&a,&b,&c); time1.y=a;time1.m=b;time1.d=c; if(isYear(time1.y)==0||checkMon(time1.m)==0||checkDay()==0){ printf("日期格式错误:\n"); return 0; }else{ printf("please input days\n"); int days; scanf("%d",&days); EndDate(days); printf("%4d/%02d/%02d之后%d天的日期是%d/%02d/%02d",a,b,c, days,time1.y,time1.m,time1.d); } return 0; } //输入开始的日期和加上的天数返回最后日期 void EndDate(int days){ int Mdays[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int i,j,k; for(i=1;i<=days;i++){ if(isYear(time1.y)==1)//是闰年 Mdays[2]=29; else if(isYear(time1.y)==2)//不是闰年 Mdays[2]=28; time1.d=time1.d%Mdays[time1.m]+1; if(time1.d==1){ time1.m=time1.m+1; } if(time1.m>12){ time1.y=time1.y+1; time1.m=time1.m%12; } } }
一纸高中万里风,寒窗读破华堂空。
莫道长安花看尽,由来枝叶几相同?