计算机等级考试c语言
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. /*求菲玻那契数列的前20项。菲玻那契数列前2项分别是1,1,从第3项开始,各项分别
是其前2项之和。*/
#include
void fibonacci(int f[])
{ int i;
/************Fill in the blanks************/
for(i=2;i<20;i++)
/************Fill in the blanks************/
f[i]=f[i-1]+f[i-2];
}
main()
{ int f[20]={1,1},i;
fibonacci(f);
printf("\n菲玻那契数列的前20项为: ");
for(i=0;i<20;i++){
if(i%5==0) printf("\n");
/************Fill in the blanks************/
printf("%12d",f[i]);
}
getch();
}
2. /*求广义菲玻那契数列的第n项。广义菲玻那契数列前3项分别是1,1,1,从第4项开始,
各项分别是其前3项之和。广义菲玻那契级数的前n项为:1,1,1,3,5,9,17,31,……。
例如,若n = 20,则应输出
广义菲玻那契级数的第20项为: 46499。*/
#include
long fibonacci(int n)
{ long a=1,b=1,c=1,d;
int i;
/************Fill in the blanks************/
for(i=4;i<=n;i++)
{
/************Fill in the blanks************/
d=a+b+c;
a=b;
b=c;
c=d;
}
/************Fill in the blanks************/
return d;
}
main()
{ int n=20;
printf("广义菲玻那契级数的第%d项为: %ld\n",n,fibonacci(n));
getch();
}
5. /*在sum函数中,根据整型形参m,计算如下公式的值。
1 1 1 1
y = ------- + --------- + --------- + …… + -------
100*100 200*200 300*300 m*m 例如,若形参m = 2000,则程序输出:
The result is: 0.000160。*/
#include
/************Fill in the blanks************/
double sum(int m)
{ int i;
double y,d;
/************Fill in the blanks************/
y=0;
for(i=100;i<=m;i+=100){
d = (double)i * (double)i ;
y += 1.0/d;
}
/************Fill in the blanks************/
return(y);
}
main( )
{ int n = 2000 ;
printf("\nThe result is: %lf\n",sum(n));
getch();
}
11. /*统计子字符串substr在字符串str中出现的次数。
例如,若字符串为This is a C Program,子字符串为is,则应输出2。*/ #include
int count(char str[],char substr[])
{ int i,j,k,num=0;
/************Fill in the blanks************/
for(i=0;str[i]!='\0';i++)
for(j=i,k=0;substr[k]==str[j];k++,j++)
/************Fill in the blanks************/
if(substr[k+1]=='\0')
{
num++;
break;
}
/************Fill in the blanks************/
return num;
}
main()
{
char str[80],substr[80];
printf("Input a string: ");
gets(str);
printf("Input a substring: ");
gets(substr);
printf("The result is: %d\n",count(str,substr));
getch();
}
13. /*有一个3×4的矩阵,求所有元素中的最小值。*/
#include
min_value(int array[][4])
{ int i,j,min;
min=array[0][0];
for(i=0;i<3;i++)
/************Fill in the blanks************/
for(j=0;j<4;j++)
if(array[i][j] /************Fill in the blanks************/ min=array[i][j]; /************Fill in the blanks************/ return(min); } main() { int a[3][4]={{-11,23,15,37},{29,48,6,-8},{15,17,34,12}}; printf("矩阵中所有元素的最小值=%d\n",min_value(a)); getch(); } 14. /*求班级学生考试成绩的平均值。*/ #include float average(float array[],int n) { int i; float aver,sum=array[0]; /************Fill in the blanks************/ for(i=1;i sum=sum+array[i]; /************Fill in the blanks************/ aver=sum/n; /************Fill in the blanks************/ return (aver); } main() { float score_1[5]={98.5,97,91.5,60,55};