1、2018年春研究生复试考试C语言参考答案一、选择题。(每题1分,共20分)15:DCAAC610:CBDDA1115:BADDA1620:CDDBA二、填空题。(每空1分,共10分)1) 72) 63)编辑、编译、链接、运行4)函数5)ex6)21到23都行7)数组三、程序填空。(每空3分,共15分)1) i=j|i+j=n-1sum+=aij或sum=sum+aij2) a%10 a/=10 或a=a/103) b/10%10四、读程序,写结果。(每题5分,共15分)。1) 122) 83) temp1=11,temp2=3五、程序设计。(共40分)1 编写程序求“菲波那契数列”前20项之和
2、。说明:“菲波那契数列”是这样的数列:数列的第1个数为1,第2个数为1,以后每个数为其前两数之和,即1、1、2、3、5、8、13、n。(本小题10分)#include int main()int f1=1,f2=1,sum=f1+f2,f3;int i;for(i=3;i=20;i+)f3=f1+f2;sum+=f3;f1=f2;f2=f3;printf(sum=%dn,sum);return 0;或者用数组求;#include int main()int f20=1,1,i,sum=0;for(i=0;i1)fi=fi-1+fi-2;printf(%dn,fi);sum+=fi;printf
3、(sum=%dn,sum);return 0;2 编写函数,判断一个字符串是否是回文。在主函数中输入一个字符串,调用自定义函数,输出结果。所谓回文是指顺读和倒读都一样的字符串。如“XZYKYZX”是回文。(本小题15分)#include #include #define N 100 int huiwen(char *p)char *ps,*pe;ps=p;pe=p+strlen(p)-1;for(;ps=pe;ps+,pe-)if(*ps!=*pe)return 0;return 1;int main()int flag=0;char aN;gets(a);flag=huiwen(a);if(flag)printf(该串是回文n);elseprintf(该串不是回文n);return 0;也可以直接用字符数组做。3 从键盘输入n个整数,将这n个数按从小到大的顺序排序。 (本小题15分)#include #define N 100int main()int aN,n,i,j,temp;scanf(%d,&n);for(i=0;in;i+)scanf(%d,&ai);for(i=1;in;i+)for(j=0;jaj+1)temp=aj;aj=aj+1;aj+1=temp;for(i=0;in;i+)printf(%dt,ai);return 0;或者用其他排序的方法。