1、计算机二级题库编程题库/*求菲玻那契数列的前20项。菲玻那契数列前2项分别是1,1,从第3项开始,各项分别是其前2项之和。*/#includevoidfibonacci(intf)inti;/*Fillintheblanks*/for(i=2;i20;i+)/*Fillintheblanks*/fi=fi-1+fi-2;main()intf20=1,1,i;fibonacci(f);printf(n菲玻那契数列的前20项为:);for(i=0;i20;i+)if(i%5=0)printf(n);/*Fillintheblanks*/printf(%12d,fi);getch();/*将一个二维
2、数组a的行和列元素互换,存到另一个二维数组b中。*/#includevoidtrans(inta23,intb32)/*本函数将二维数组a的行和列元素互换,存到二维数组b中*/*Error*/inti,j;for(i=0;i2;i+)for(j=0;j3;j+)/*Error*/bji=aij;main()inta23=1,2,3,4,5,6,b32,i,j;printf(数组a:n);for(i=0;i2;i+)for(j=0;j3;j+)printf(%5d,aij);printf(n);trans(a,b);printf(数组b:n);for(i=0;i3;i+)for(j=0;j2;j
3、+)printf(%5d,bij);printf(n);getch();/*找出数组arr中的最大元素。suffix函数的功能是:求出形参数组a中最大元素的下标。其中,形参n为数组元素的个数。例如,数组元素为:5617861238724316112478143则输出结果为:数组arr的最大元素为:arr5=243*/#includeintsuffix(inta,intn)inti,k,max;max=a0;for(i=1;i10;i+)if(maxai)max=ai;k=i;returnk;main()voidCHECK();intarr10=56,178,6,123,87,243,161,1
4、24,78,143,k;clrscr();k=suffix(arr,10);printf(数组arr的最大元素为:arr%d=%dn,k,arrk);getch();CHECK();/*在sum函数中,根据整型形参m,计算如下公式的值。1111y=-+-+-+-100*100200*200300*300m*m例如,若形参m=2000,则程序输出:Theresultis:0.000160。*/#include/*Fillintheblanks*/doublesum(intm)inti;doubley,d;/*Fillintheblanks*/y=0;for(i=100;ibi、ai=bi和aiy
5、时,返回1;当x=y时,返回0;当x=y时,返回0。*/#include/*Error*/intcomp(intx,inty)intflag;if(xy)flag=1;/*Error*/elseif(x=y)flag=0;elseflag=-1;return(flag);main()inti,n=0,m=0,k=0;inta10=5,-23,5,21,6,18,9,12,23,7;intb10=6,-9,64,23,-52,0,9,8,-35,12;printf(数组a:n);for(i=0;i10;i+)printf(%4d,ai);printf(n);printf(数组b:n);for(i
6、=0;i10;i+)printf(%4d,bi);printf(n);for(i=0;ibi%2d次nai=bi%2d次naibi%2d次n,n,m,k);getch();/*将1到n之间,能同时被7和11整除的整数存储到形参数组a中,并返回这些整数的个数。例如:当n=1000时,程序输出:77154231308385462539616693770847924*/#includeintfun(inta,intn)inti;intk=0;for(i=1;i=1000;i+)if(i%7=0&i%11=0)ak=i;k+;returnk;main()voidCHECK();intarr20,i,k
7、,n;clrscr();n=1000;k=fun(arr,n);for(i=0;ik;i+)printf(%4d,arri);getch();CHECK();/*计算NN的二维数组的所有数组元素的平均值。例如:a数组中的值为|01279|19745|a=|23831|45682|59141|则平均值为:4.280000。*/#include#defineN5floatcount(intaNN)inti,j;floatsum=0,ave;for(i=0;i5;i+)for(j=0;j5;j+)sum=sum+aij;ave=sum/(N*N);returnave;main()voidCHECK(
8、);intarrNN=0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1;clrscr();printf(二维数组arr的元素的平均值为:%fn,count(arr);getch();CHECK();/*求广义菲玻那契数列的第n项。广义菲玻那契数列前3项分别是1,1,1,从第4项开始,各项分别是其前3项之和。广义菲玻那契级数的前n项为:1,1,1,3,5,9,17,31,。例如,若n=20,则应输出广义菲玻那契级数的第20项为:46499。*/#includelongfibonacci(intn)longa=1,b=1,c=1,d;inti;/*
9、Fillintheblanks*/for(i=4;i=n;i+)/*Fillintheblanks*/d=a+b+c;a=b;b=c;c=d;/*Fillintheblanks*/returnd;main()intn=20;printf(广义菲玻那契级数的第%d项为:%ldn,n,fibonacci(n);getch();/*应用冒泡排序算法,对数组a中的元素从小到大进行排序。*/#includevoidsort(inta,intn)inti,j,t;for(j=0;jn-1;j+)for(i=0;iai+1)t=ai;/*Error*/ai=ai+1;/*Error*/ai+1=t;main
10、()intk,a10=6,-9,78,23,-12,0,9,8,-3,12;printf(数组a:n);for(k=0;k10;k+)printf(%d,ak);sort(a,10);printf(n从小到大排序:n);for(k=0;k10;k+)printf(%d,ak);printf(n);getch();/*计算1到形参n之间,能被3和7整除的整数的和,并作为函数值返回。例如,n为1800时,程序输出:1到1800之间,能被3和7整除的整数的和为:76755*/#includelongsum(intn)inti;longsum=0;for(i=1;i=n;i+)if(i%3=0&i%7
11、=0)sum=sum+i;return(sum);main()voidCHECK();intn=1800;clrscr();printf(1到%d之间,能被3和7整除的整数的和为:%ldn,n,sum(n);getch();CHECK();/*统计子字符串substr在字符串str中出现的次数。例如,若字符串为ThisisaCProgram,子字符串为is,则应输出2。*/#includeintcount(charstr,charsubstr)inti,j,k,num=0;/*Fillintheblanks*/for(i=0;stri!=0;i+)for(j=i,k=0;substrk=str
12、j;k+,j+)/*Fillintheblanks*/if(substrk+1=0)num+;break;/*Fillintheblanks*/returnnum;main()charstr80,substr80;printf(Inputastring:);gets(str);printf(Inputasubstring:);gets(substr);printf(Theresultis:%dn,count(str,substr);getch();/*求二维数组a33中各列元素的平均值,并依次存储在一维数组b3中。*/#includevoidfun(inta33,floatb3)inti,j;
13、for(i=0;i3;i+)for(j=0;j3;j+)/*Error*/bj+=aij;for(i=0;i3;i+)/*Error*/bi/=3;main()inta33=1,2,3,4,5,6,7,8,9,i;floatb3=0,0,0;fun(a,b);for(i=0;i3;i+)printf(%4.1f,bi);printf(n);getch();/*有一个34的矩阵,求所有元素中的最小值。*/#includemin_value(intarray4)inti,j,min;min=array00;for(i=0;i3;i+)/*Fillintheblanks*/for(j=0;j4;j+
14、)if(arrayijmin)/*Fillintheblanks*/min=arrayij;/*Fillintheblanks*/return(min);main()inta34=-11,23,15,37,29,48,6,-8,15,17,34,12;printf(矩阵中所有元素的最小值%dn,min_value(a);getch();/*求班级学生考试成绩的平均值。*/#includefloataverage(floatarray,intn)inti;floataver,sum=array0;/*Fillintheblanks*/for(i=1;in;i+)sum=sum+arrayi;/*
15、Fillintheblanks*/aver=sum/n;/*Fillintheblanks*/return(aver);main()floatscore_15=98.5,97,91.5,60,55;floatscore_210=67.5,89.5,99,69.5,77,89.5,76.5,54,60,99.5;printf(班级A学生考试成绩的平均值=%6.2fn,average(score_1,5);printf(班级A学生考试成绩的平均值=%6.2fn,average(score_2,10);getch();/*将每个英语单词的第一个字母改成大写(这里的“单词”是指由空格隔开的字符串)。例
16、如,若输入:Iamastudenttotaketheexamination.,则应输出:IAmAStudentToTakeTheExamination.。*/#include/*Error*/voidchange(chars)inti,k;k=0;/*Error*/for(i=0;si!=0;i+)if(k)if(si=)k=0;elseif(si!=)k=1;si=toupper(si);main()charstr80;printf(nPleaseenteranEnglishtextline:);gets(str);printf(Beforechanging:n%s,str);change(
17、str);printf(nAfterchanging:n%sn,str);getch();/*计算111111-+-+-.-2345n例如,n=100时,运算结果为:0.688172。*/#includefloatcount(intn)inti;floatsign=1;floatsum=0;for(i=1;i=n;i+)sum=sum+sign/i;sign=(-1)*sign;returnsum;main()voidCHECK();intn=100;clrscr();printf(11111n);printf(1-+-+-.-=%fn,count(n);printf(2345%dn,n);g
18、etch();CHECK();/*求出以下分数序列的前n项之和。23581321,1235813例如,若n=5,则应输出:8.391667。*/#include/*Fillintheblanks*/doublesum(intn)inta,b,c,k;doubles;/*Fillintheblanks*/s=0;a=2;b=1;for(k=1;k=n;k+)s=s+(double)a/b;c=a;/*Fillintheblanks*/a=b+c;b=c;returns;main()intn=5;printf(nThevalueoffunctionsumis:%lfn,sum(n);getch()
19、;/*计算两个双精度数的和的平方根。例如,若输入:23.18,32.4721,则输出:z=7.460034。*/#include/*Error*/doublecount(doublea,doubleb)doublec;/*Error*/c=sqrt(a+b);returnc;main()doublex,y,z;printf(Enterx,y:);scanf(%lf,%lf,&x,&y);z=count(x,y);printf(z=%fn,z);getch();/*计算n!。例如,给n输入5,则输出5!=120。*/#includelongcount(intn)inti;longs=1;for(i=1;i=n;i+)s=s*i;returns;main()voidCHECK();intn;clrscr();printf(InputN:);scanf(%d,&n);printf(%d!=%ldn,n,count(n);getch();CHECK(
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1