C语言上机考试参考习题(中国石油大学版)
1. 求Fibonacci数列的前20项的和。
F(1)=1,(n=1)F(2)=1,(n=2)F(n)=F(n-2)+F(n-1),(n>=3
#include "stdio.h"
void main()
{
int f(int n);
int sun(int n);
printf("Fibonacci数列前20项的和为:%d \n",sum(20));
}
int f(int n)
{
if(n<=2)
return 1;
else
return(f(n-1)+f(n-2));
}
int sum(int n)
{
int i,s;
for(i=1,s=0;i<=n;i++)
s=s+f(i);
return s;
}
2. 写一函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串 #include "stdio.h"
#include "string.h"
#define N 10
void main()
{
void f(char str[N]);
char a[N];
printf("please input an array:\n");
gets(a);
printf("输入的字符串为:%s \n",a);
f(a);
printf("输出的字符串为:%s \n",a);
}
void f(char str[N])
{
int i,j;
char t;
for(i=0,j=strlen(str);i