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

c语言上机实验题

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

{

for(j=0;j<3;j++)

printf(\ printf(\ } }

38. 在m行n列的二维数组中找出最小值的元素,然后将该元素所在行与最后一行交换,将该元素所在列与最后一列交换。请按功能要求改正下列程序中的错误,并调试运行程序。

【源程序】

#include #define M 3 #define N 4 main() { int x,k,j,com,col,t; int a[M][N]={ 12,1,56,34,10,2,45,3,9,7,4,65}; for(k=0;k #define M 3 #define N 4 main() { int x,k,j,com,col,t; int a[M][N]={12,1,56,34,10,2,45,3,9,7,4,65}; for(k=0;k

}

printf(\ x=a[0][0]; com=0; col=0; for(k=0;ka[k][j]) { com=k; col=j;

x=a[k][j];

} for(k=0;k

{ for(j=0;j

printf(\

printf(\ } getch(); }

输出结果:

12 1 56 34 10 2 45 3 9 7 4 65

9 65 4 7 10 3 45 2 12 34 56 1

39.请编程序,打印以下形式的杨辉三角形。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1

#include \ main() {

int a[6][6]; int i,j;

for(i=0;i<6;i++) { a[i][0]=1; a[i][i]=1;} for(i=1;i<6;i++) { for(j=1;j

a[i][j]=a[i-1][j-1]+a[i-1][j]; }

for(i=0;i<6;i++) { for(j=0;j<=i;j++) printf(\ printf(\ } getch(); }

40. 已知任何一个正整数n的立方均可以表示成n个连续奇数之和。例如: 13=1 23=3+5 33=7+9+11

43=13+15+17+19 ??

试按下列要求编制程序:

(1) 编写函数void find_odd(int odd[],int n),其功能是找到n个连续奇数,满足n的立方等于这些连续奇数之和,将这些奇数依次存放在数组odd中。 (2) 编写main函数,定义变量n和一维数组a,从键盘上读入n的值(本题测试数据n=14),用a和n作为实在参数调用函数find_odd,按如下格式将调用结果输出到屏幕上: 14^3=a1+a2+?+an,其中a1表示最小奇数,an表示最大奇数。

#include

void find_odd(int odd[],int n) { int i,a; if(n%2)

a=n*n-n/2*2; else

a=n*n-n/2*2+1; for(i=0;i

void main()

{ int n,a[32767],i,j;

printf(\ scanf(\

find_odd(a,n);

printf(\ for(i=1;i

41. 下列程序是利用插入排序法将n个数从大到小进行排序,插入排序的算法思想如下:从一个空表开始,将待排序的数一个接一个插入到已排好序的有序表中(空表视为有序),从而得到一个新的、记录数增1的有序表。例如:当n=7时,待排序的数及每一趟有序表的变化情况如下:

趟数 初始状态 第1趟 第2趟 第3趟 第4趟 第5趟 第6趟 第7趟 空 49 49 38 65 49 38 97 65 49 38 97 76 65 49 38 97 76 65 49 38 13 97 76 65 49 38 27 13 空 有序表 剩余待排序数 49 38 65 97 76 13 27 38 65 97 76 13 27 65 97 76 13 27 97 76 13 27 76 13 27 13 27 27 请完善下列程序并进行调试。

【源程序】 #include #include void sort(int a[],int n) void sort(int a[],int n) { { int i,j,t; int i,j,t; for(i=1; i<=n; i++) for(i=1; i<=n; i++) { t=a[i]; { t=a[i]; j=i-1; j= ; while((j>=0)&&(t>a[j])) while((j>=0)&&(t>a[j])) { a[j+1]=a[j]; { ; j--; j--; } } a[j+1]=t; ; } } } } void main() void main() { { int a[10],i; int a[10],i; printf(\ printf(\ for(i=0; i<=9; i++) for(i=0; i<=9; i++) scanf(\ scanf(\ sort(a,i); ; for(i=0;i<10;i++) for(i=0;i<10;i++) printf(\ printf(\ getch(); } }42.请按下列要求编写程序:

(1)编写函数void conj(int a[],int na,int b[],int nb, int c[]),其功能是实现将a和b指向的两个已按升序排列的数组中的元素合并成一个升序序列并保存到c指向的数组中。

(2)编写main函数,声明3个整型数组a,b,c,用给出的测试数据初始化a和b,将a,b,c作为实参调用函数conj,实现数组a和数组b的合并,合并的结果存入数组c中,最后依次输出c数组中的元素。 测试数据:

a数组:1 2 5 8 9 10 b数组:1 3 4 8 12 18

#include

void conj(int a[],int na,int b[],int nb, int c[]) {

int i=0,j=0,k=0, l; while(i

if(a[i] > b[j])

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