第一范文网 - 专业文章范例文档资料分享平台

c语言上机实验题

来源:用户分享 时间:2025/5/25 18:54:21 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

{

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 float fun(int x[],int n) { int i; float s=0; for(i=0;i

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 void sort(int a[],int n)

{ int i,j,k,t; for(i=0;ia[j]) k=j; t=a[i]; a[i]=a[k]; a[k]=t; } }

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 long factorial(int n) { int i; long s=1; for(i=1;i<=n;i++) s=s*i; return s; }

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); void main() { int x; printf(\ scanf(\ convert(x); }

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 #include void main() void main() { { int a[11] ,x , i; int a[11] ,x , i; printf(\ printf(\ for(i=1; i<=10; i++) for(i=1; i<=10; i++)

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 void main() {

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++)

搜索更多关于: c语言上机实验题 的文档
c语言上机实验题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8z5ap9wwtp99g5n14c0q_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top