第7章 习题解答讲义

上传人:今*** 文档编号:105852195 上传时间:2019-10-13 格式:DOC 页数:17 大小:62KB
返回 下载 相关 举报
第7章 习题解答讲义_第1页
第1页 / 共17页
第7章 习题解答讲义_第2页
第2页 / 共17页
第7章 习题解答讲义_第3页
第3页 / 共17页
第7章 习题解答讲义_第4页
第4页 / 共17页
第7章 习题解答讲义_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《第7章 习题解答讲义》由会员分享,可在线阅读,更多相关《第7章 习题解答讲义(17页珍藏版)》请在金锄头文库上搜索。

1、第7章 习题解答7.1 编写一个观察局部数组、静态数组和外部数组的默认初值的程序。#include #define N 6int extN;int main()int autN;static int staN;int i;for(i=0; iN; i+)printf(%d , exti);printf(n);for(i=0; iN; i+)printf(%d , auti);printf(n);for(i=0; iN; i+)printf(%d , stai);printf(n);return 0;/7.2 编写一个程序,输出杨辉三角的前8行。/*#include #define N 8int

2、 main()int yhNN=1;int i,j;for(i=0; iN-1; i+)yhi+10 = yhi0;for(j=1; j=i; j+)yhi+1j = yhij-1 +yhij;yhi+1j = yhij-1;for(i=0; iN; i+)for(j=0; jN-1-i; j+)printf( );for(j=0; j=i; j+)printf(%6d, yhij);printf(n);return 0;*/7.3 n个人围城一圈,依次从1到n编号。从编号为1的人开始报数,凡报数为3的人退出/圈子。输出最后留下的那个人原来的编号,试编程序实现。/*#include #defi

3、ne N 50int main(void)int aN,i,j,k;for(i=0;iN;i+)ai=i+1;i=j=k=0;while(jN-1)if(ai!=0)k+;if(k=3)ai=0;j+;k=0;i+;if(i=N)i=0;for(i=0;iN;i+)if(ai!=0)printf(%dn,ai);*/7.3 n个人围城一圈,依次从1到n编号。从编号为1的人开始报数,凡报数为3的人退出/圈子。输出最后留下的那个人原来的编号,试编程序实现。/*#include #define N 50#define M 3int main() int AN; int i, n = 0, count

4、 = 0; for(i=0; iN; i+) Ai = 1; i = 0; while(count N-1) if(An = 1) i+; if(i = M) i = 0; An = 0; count+; if(n = N-1) n = 0; else n+; for(i=0; iN; i+) if(Ai = 1) break; printf(%3d, +i); return 0;*/7.4 输入10个数,用冒泡法对其进行排序并输出排序后的结果。#include #define N 10int main()int mN;int i, j, flag;printf(Please input %d

5、 numbers:, N);for(i=0; iN; i+)scanf(%d, m+i);for(i=0; iN-1; i+)for(j=0,flag=0; j mj+1)mj=mj+mj+1;mj+1=mj-mj+1;mj=mj-mj+1;flag=1;if(!flag)break;for(i=0; iN; i+)printf(%d , mi);putchar(n);return 0;7.5 输入n个学生的姓名和C语言课程的成绩,将成绩按从高到低的次序排名,姓名同时作相应调整,输出排序后学生的姓名和C语言课程的成绩。#include#include#define N 100int main(

6、) char nameN20; float scoreN; int tempN, t; int n, i, j, flag, g; printf(input n:); scanf(%d,&n); for(i = 0; i 0; i-) flag = 0; for(j = 0; j i; j+) if(scoretempj 0; g = g/2) for(i = g; i = 0 & scoretempj scoretempj+g; j -= g) t = tempj; tempj = tempj+g; tempj+g = t; */ for(i = 0 ; i n ; i+) printf(n

7、ame:%-20s score:%.1fn, nametempi, scoretempi); return 0;/7.7 选择法排序是从n个数中线找出最大或最小的数放在数组的最前面或最后面,/再在剩余的n-1个数中找出最大或最小的数放在数组的次前面或倒数第2单元,依/此类推,直至排序完毕。编程输入n个整数,用选择法排序将它们按升序重新排列后输出。/*#include #define N 6int main(void)int i,j,k,t,aN;for(i=0;i=N-1;i+)scanf(%d,&ai);for(i=0;iN-1;i+)k=i;for(j=i+1;j=N-1;j+)if(aj

8、ak)t=ai;ai=ak;ak=t;for(i=0;i=N-1;i+)printf(%3d,ai);return 0;*/7.7 选择法排序是从n个数中线找出最大或最小的数放在数组的最前面或最后面,再在剩余的n-1个数中找出最大或最小的数放在数组的次前面或倒数第2单元,依此类推,直至排序完毕。编程输入n个整数,用选择法排序将它们按升序重新排列后输出。#include #define N 10int main()int mN;int i, j;printf(Please input %d numbers:, N);for(i=0; iN; i+)scanf(%d, m+i);for(i=0; iN-1; i+)for(j=i+1; j mj)mi=mi+mj;mj=mi-mj;mi=mi-mj;for(i=0; iN; i+)printf(%d , mi);putchar(n);return 0;或#include #define N 10int main()int mN;int i, j, min, n;printf(Please input %d numbers:, N);for(i=0; iN; i+)scanf(%d, m+i);for(i=0; iN-1; i+)for(j=i+1,min=mi,n=i; j mj)n=j;min=mj;mi=mi

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号