《C语言程序设计》课件chapter5answer.doc
第五章 数组参考答案一、选择题(把正确选项的字母标号填到表格中)题号123456789101112131415答案DBDDBDBDBCACBDC- 3 -二、判断题(错的填×,对的填)题号1234567891011121314151617181920答案××××××××三、应用题1.写出以下程序的执行结果(不用抄题,直接写出结果,注意输出结果的格式)。(1) 0 2 0 3 0 4 0 5 6 (2)2,2,1,22.先分析程序后回答问题。 (1)数组a中原先存的10个数据是有序的。(2)把num插入到数组a中,插入后数组a仍然有序(3)第一次运行结果是:-1 1 4 6 9 13 16 19 28 40 100 第二次运行结果是:1 4 6 9 10 13 16 19 28 40 100四、编程题1.C语言程序设计习题解答与上机指导(第2版)第181页【编程4-2】。#include "stdio.h"#define R 4#define C 4int main(void)int i;int j;int aCR = -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1;/把右上三角元素置0for(i=0;i<R;i+)for(j=0;j<C;j+)if(j>=i)aij=0; /输出数据for(i=0;i<R;i+)for(j=0;j<C;j+)printf("%4d",aij);printf("n");return 0;2.C语言程序设计习题解答与上机指导(第2版)第182页【编程4-3】。#include "stdio.h"#include "stdlib.h"#include "time.h"#define M 10int main(void)int i;int j;int t;int k;int scoresM;float aver;srand(time(NULL);/触发种子发生器/产生10个0-100的成绩for(i=0;i<M;i+)scoresi = rand() % 101; /输出原始成绩printf("n原始成绩是:");for(i=0;i<M;i+)printf("%5d",scoresi);printf("nn");/对成绩进行排序i=0,k=1;while(i<M-1&&k)k = 0;for(j=M-1;j>i;j-)if(scoresj>scoresj-1)t = scoresj;scoresj = scoresj-1;scoresj-1 = t;k+;i+;/输出排序后的成绩printf("n排序后的成绩是:");for(i=0;i<M;i+)printf("%5d",scoresi);printf("nn");/统计低于平均分的人数for(i=0,aver=0;i<M;i+)aver += scoresi;aver /= M;for(i=0;i<M;i+)if(scoresi<aver)break;printf("平均分是:%.1f,低于平均分的人数是:%dn",aver,M-i);return 0;