当前位置:首页 > c语言上机实验题
{
long int a[20]; int i; for(i=0;i<20;i++) { a[0]=0; a[1]=1; a[2]=1; if(i>2)
a[i]=a[i-3]+2*a[i-2]+a[i-1]; printf(\ } }
32.请按下列要求编写程序:
(1)编写函数float fun(int x[],int n),其功能是求出x指向的长度为n的数组中各元素的平均值,函数返回该平均值;
(2)编写main函数,声明一个长度为10的整型数组a,并将2~20之间的偶数依次存入a数组,调用fun函数,输出调用的结果。
#include 33.请编写sort函数,用简单选择排序算法对待排序数据进行排序。编写main函数,声明一个一维数组并用如下测试数据对其初始化,调用sort函数实现将数组中的第3至8个元素按升序排序。 测试数据:6 8 9 12 16 -3 90 -9 10 1 输出结果:6 8 -9 -3 9 12 16 90 10 1 #include { int i,j,k,t; for(i=0;i void main() { int a[10]={6,8,9,12,16,-3,90,-9,10,1},i; sort(&a[2],6); for(i=0;i<10;i++) printf(\ getch(); } 34.整数145有一个奇怪的特性: 145=1!+4!+5!。 编程要求: (1)编写函数int facsum(long x),其功能是判断长整型数x是否具有上述特性,如具有上述特性则返回值1,否则返回值0。 (2)编写main(),在1~2000000内寻找具有此特性的数,并将满足该特性的数输出。 #include int facsum(long x) { int i,s=0,t,m; m=x; while(x) { i=x; x=x/10; t=factorial(i); s=s+t; } if(m==s) return 1; else return 0; } main() { long i; for(i=1;i<=2000000;i++) if(facsum(i)==1) printf(\ getch(); } 35.如果不加任务限定条件,在学完数组后,你能否编写一个程序,功能是任意从键盘上输入一个正整数(1~32767),将其转化为二进制数。 #include void convert(int a) { int b[16],i; for(i=0;i<16;i++) b[i]=2; for(i=0;i<16;i++) { b[i]=a%2; a=a/2; if(a==0)break; } printf(\ for(i=15;i>=0;i--) { if(b[i]==2) continue; else printf(\ } printf(\} 36.以下程序在a数组中从后往前查找第一个与x值相同的元素的所在位置。请完善程序。 【源程序】 #include scanf(\ scanf(\ printf(\x: \ scanf(\ printf(\\ scanf(\ a[0]=__________; a[0]=x; i=10; i=10; while(x!=a[i]) ___________; while(x!=a[i]) if(___________) i--; printf(\ if(i!=0) \ printf(\ else else printf(\ printf(\} getch(); } 37.请编辑调试下列程序,观察其运行结果,理解数组的声明、数组元素的引用等基本概念。该程序的功能是_ 将每列数由小到大排列___。 【源程序】 #include int a[3][3]={{3,8,12},{4,7,10},{2,5,11}}, i,j,k,t; for(j=0;j<3;j++) for(k=0;k<2;k++) for(i=0;i<2-k;i++) if(a[i][j]>a[i+1][j]) t=a[i][j],a[i][j]=a[i+1][j],a[i+1][j]=t; for(i=0;i<3;i++)
共分享92篇相关文档