C语言程序设计电子课件、源代码、参考答案05单元5 构造类型程序设计_数组.doc

上传人:本田雅阁 文档编号:2246858 上传时间:2019-03-09 格式:DOC 页数:26 大小:259.51KB
返回 下载 相关 举报
C语言程序设计电子课件、源代码、参考答案05单元5 构造类型程序设计_数组.doc_第1页
第1页 / 共26页
C语言程序设计电子课件、源代码、参考答案05单元5 构造类型程序设计_数组.doc_第2页
第2页 / 共26页
C语言程序设计电子课件、源代码、参考答案05单元5 构造类型程序设计_数组.doc_第3页
第3页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C语言程序设计电子课件、源代码、参考答案05单元5 构造类型程序设计_数组.doc》由会员分享,可在线阅读,更多相关《C语言程序设计电子课件、源代码、参考答案05单元5 构造类型程序设计_数组.doc(26页珍藏版)》请在三一文库上搜索。

1、C语言程序设计课程-源代码 软件技术专业国家教学资源库单元5 构造类型程序设计数组源代码SC 01 02 01 05 1011源代码编号SC010201051012源代码来源单元5 构造类型程序设计数组例5-13问题描述输出数组中所有元素的值。4程序代码#include #define N 5 /数组大小void show(int array_bN)int i;for(i=0;iN;i+)printf(%4d,array_bi);printf(n);int main()int array_aN=55,44,33,22,11;show(array_a);return 0;SC 01 02 01

2、05 1021源代码编号SC010201051022源代码来源单元5 构造类型程序设计数组例5-23问题描述从键盘输入10个整型数据,找出其中的最小值并输出。4程序代码#include #define N 10 /数组大小void input(int array_bN)/*输入10个整型数据*/int i;printf(请输入%d个整数:,N);for(i=0;iN;i+)scanf(%d,& array_bi);int min(int array_b N)/*找出最小值*/int i,minnum;minnum= array_b0;for(i=1;iN;i+)if(array_biminnu

3、m)minnum= array_bi;return minnum;int main()int array_aN,minnum;input(array_a);minnum=min(array_a);printf(minnum=%dn,minnum);return 0; SC 01 02 01 05 1031源代码编号SC010201051032源代码来源单元5 构造类型程序设计数组例5-33问题描述从键盘输入10个整型数据,按升序重新存放后输出。4程序代码#include #define N 10void input(int tbN)/输入函数int i;printf(请输入%d个整数:n,N)

4、;for(i=0;iN;i+)scanf(%d,&tbi);void Bubble_Sort(int tbN)/冒泡排序函数int i,j;int t;for(i=0;iN-1;i+) /外层循环控制冒泡的趟数 for(j=0;jtbj+1) /若不符合排序要求则交换t=tbj;tbj=tbj+1;tbj+1=t;void Print(int tbN)/输出函数int i;for(i=0;iN;i+)if(i%10=0)printf(n);printf(%6d,tbi);printf(n);int main()int tbN; input(tb);printf(排序前:);Print(tb);

5、Bubble_Sort (tb);printf(排序后:);Print(tb);return 0;SC 01 02 01 05 1041源代码编号SC010201051042源代码来源单元5 构造类型程序设计数组例5-43问题描述找出二维数组所有元素中的最大值。4程序代码#include #define N 3#define M 4int max(int arrayNM)int m;int i,j;m=array00; /假设第一行第一列的元素为最大值for(i=0;iN;i+) /控制行下标for(j=0;jM;j+) /控制列下标if(marrayij) m=arrayij;return

6、m;int main()int arrayNM=11,9,45,4,54,1,32,8,91,2,7,12;int maxnum;maxnum=max(array);printf(%4dn,maxnum);return 0;SC 01 02 01 05 1051源代码编号SC010201051052源代码来源单元5 构造类型程序设计数组例5-53问题描述从键盘上输入两个字符串,将它们交换后输出。4程序代码#include #include #define N 81void swapstr(char str1,char str2)char chN;strcpy(ch, str1);strcpy(

7、str1 , str2);strcpy(str2,ch);int main()char ch1N,ch2N;printf(请输入一个字符串:);scanf(%s,ch1);printf(请输入另一个字符串:);scanf(%s,ch2);swapstr(ch1,ch2);printf(交换后的两个字符串分别为:);printf(n%sn%sn,ch1,ch2);return 0;SC 01 02 01 05 1061源代码编号SC010201051062源代码来源单元5 构造类型程序设计数组课堂实践5-13问题描述编写程序,使例5-1的数组array_a中大于30的数组元素加10,并在屏幕上输

8、出修改后的数组。4程序代码#include void add10(int array_a)int i;for(i=0;i30)array_ai+=10;int main()int array_a10=12,3,-3,34,6,13,47,45,764,0;int i;printf(修改前:n);for(i=0;i10;i+)printf(%d ,array_ai);printf(n);add10(array_a);printf(修改前:n);for(i=0;i10;i+)printf(%d ,array_ai);printf(n);return 0;SC 01 02 01 05 1071源代码

9、编号SC010201051072源代码来源单元5 构造类型程序设计数组课堂实践5-23问题描述从键盘输入10个整型数据,找出最大值和最大值的下标并输出。4程序代码#include #define N 10void max_maxi(int array_a)int i;int max,max_i;max=array_a0;max_i=0;for(i=1;imax)max=array_ai;max_i=i;printf(最大值为:%d,最大值的下标为:%d,max,max_i);int main()int array_aN;int i;printf(请输入10个整形数据:);for(i=0;iN;

10、i+)scanf(%d,&array_ai);max_maxi(array_a);return 0;SC 01 02 01 05 1081源代码编号SC010201051082源代码来源单元5 构造类型程序设计数组课堂实践5-33问题描述把上面的冒泡算法由升序改为降序。4程序代码#include #define N 10void input(int tbN)/输入函数int i;printf(请输入%d个整数:n,N);for(i=0;iN;i+)scanf(%d,&tbi);void Bubble_Sort(int tbN)/冒泡排序函数int i,j;int t;for(i=0;iN-1;

11、i+) /外层循环控制冒泡的趟数 for(j=0;jN-1-i;j+)/内层循环控制每趟冒泡的比较次数 if(tbjtbj+1) /若不符合排序要求则交换t=tbj;tbj=tbj+1;tbj+1=t;void Print(int tbN)/输出函数int i;for(i=0;iN;i+)if(i%10=0)printf(n);printf(%6d,tbi);printf(n);int main()int tbN; input(tb);printf(排序前:);Print(tb);Bubble_Sort (tb);printf(排序后:);Print(tb);return 0;SC 01 02

12、 01 05 1091源代码编号SC010201051092源代码来源单元5 构造类型程序设计数组课堂实践5-43问题描述输出例5-4二维数组中所有元素的平均值。4程序代码#include #define N 3#define M 4float average(int arrayM)int i,j;int sum=0;for(i=0;iN;i+)for(j=0;jM;j+)sum+=arrayij;return (float)sum/(N*M);int main()int arrayNM=1,2,3,4,32,2,65,7,9,0,54,3;float aver;aver=average(ar

13、ray);printf(%f,aver);return 0;SC 01 02 01 05 1101源代码编号SC010201051102源代码来源单元5 构造类型程序设计数组课堂实践5-53问题描述由键盘任意输入5个国家的英文名称,按英语词典规律排序后输出。4程序代码#include #include void sort(char str50)char t50;int i,j;for(i=0;i4;i+)for(j=0;j0)strcpy(t,strj);strcpy(strj,strj+1);strcpy(strj+1,t);void showstr(char str50)int i;for

14、(i=0;i5;i+)puts(stri);int main()char str550;int i;printf(请输入五个国家的英文名称);for(i=0;i5;i+)gets(stri);sort(str);showstr(str);return 0;SC 01 02 01 05 1111源代码编号SC010201051112源代码来源单元5 构造类型程序设计数组同步训练 程序设计题13问题描述求任意10个数中的正数之和及个数。4程序代码#includevoid count(int a)int i,n=0,s=0;for(i=0;i0)n+;s+=ai;printf(%d %d,n,s);

15、int main()int a10=-1,-2,0,3,-10,4,22,12,8,-15;count(a);return 0;SC 01 02 01 05 1121源代码编号SC010201051122源代码来源单元5 构造类型程序设计数组同步训练 程序设计题23问题描述求一个5*5矩阵对角线元素之和。4程序代码 #include float sum(float a55)float s=0; int i;for(i=0;i5;i+)s=s+aii;return s;int main()float a55,s;int i,j;printf(please input rectangle elem

16、ent:n);for(i=0;i5;i+)for(j=0;j5;j+)scanf(%f,&aij);s=sum(a);printf(duijiaoxian he is %6.2f,s);return 0;SC 01 02 01 05 1131源代码编号SC010201051132源代码来源单元5 构造类型程序设计数组同步训练 程序设计题33问题描述将一个数组首尾互换后输出。4程序代码 #include #define N 6void conv(int a) int i,temp;for(i=0;iN/2;i+)temp=ai;ai=aN-i-1;aN-i-1=temp;int main()in

17、t aN=11,9,8,2,1,0,i;printf(n交换前:n);for(i=0;iN;i+)printf(%4d, ai); conv(a);printf(n交换后:n);for(i=0;iN;i+)printf(%4d, ai);return 0;SC 01 02 01 05 1141源代码编号SC010201051142源代码来源单元5 构造类型程序设计数组同步训练 程序设计题43问题描述向有序数组中插入一个数,保持原顺序不变,将新数组输出。4程序代码#include #includevoid insert_num(int a,int number)int temp1,temp2,e

18、nd,i,j;end=a9;if(number end) a10=number;else for(i=0;inumber) temp1=ai;ai=number;for(j=i+1;j11;j+) temp2=aj;aj=temp1;temp1=temp2;break;int main()int a11=1,4,6,9,13,16,19,28,40,100;int number,i;printf(original array is : n);for(i=0;i10;i+)printf(%5d, ai);printf(n);printf(insert a new number:);scanf(%

19、d,&number);insert_num(a,number);for(i=0;i11;i+)printf(%4d,ai);return 0;SC 01 02 01 05 1151源代码编号SC010201051152源代码来源单元5 构造类型程序设计数组同步训练 程序设计题53问题描述一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如61+2+3,找出100以内的所有完数。4程序代码#include int wanshu(int t,int k)int i,s;int flag=0;k10=-1;s=t;for(i=1;it;i+)if(t%i)=0)k10+;s=s-i;kk10=i;if(s=0)flag=1;return flag;int main()int i,j;int k11;for(i=2;i=100;i+)if(wanshu(i,k)printf(%d is a wanshu,i);for(j=0;jk10;j+)printf(%d,kj);printf(%dn,kk10);return 0;第 26 页 共 26 页

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1