第七章答案2013415答案.docVIP

  • 68
  • 0
  • 约4.67千字
  • 约 6页
  • 2016-11-26 发布于重庆
  • 举报
第七章答案2013415答案

C语言程序设计上机作业6 答案 题目要求:共9题,在所画横线上填空,把程序补充完整。 9题分别保存为file1.c至file9.c 题目1 已有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插 入数组中。 main( ) { int i,j,number; int a[11]={1,4,6,9,13,16,19,28,40,100}; /*数组初始化时预留一位置*/ printf(array a:\n); for(i=0;i10;i++) /* 输出数组原有元素 */ printf(%d ,a[i]); printf(\n); printf(Insert data:); scanf(%d,number); /* 读入要插入的数据 */ i=0; /* 以下三行找到插入位置i */ while (a[i]numberi10)   i++; for(j=9;j=i;j--) /* 将插入点以后的元素顺序后移一位 */ a[j+1]=a[j]; a[i]=number; /* 插入数据 */ printf(Now,array a:\n); for(i=0;i11;i++) /* 输出插入后仍有序的数组 */ printf(%d ,a[i]); } 运行情况如下: array a: 1 4 6 9 13 16 19 28 40 100 Insert data:5↙ Now,array a: 1 4 5 6 9 13 16 19 28 40 100 题目2 将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。 #define N 5 main( )  { int a[N],i,temp; printf(Enter array a:\n); for (i=0;iN;i++)      /*读入a[0]---a[4]的值*/ scanf(%d,a[i]); printf(array a:\n); for (i=0;iN;i++)      /*输出a[0]---a[4]的值*/ printf(%5d,a[i]); for (i=0;iN/2;i++)/*对数组前一半元素,与后一半相应位置上的元素调换*/ { temp=a[i]; a[i]=a[N-i-1]; a[N-i-1]=temp; } printf(\n Now,array a:\n); for (i=0;iN;i++)    /*输出逆序存放后的值*/ printf(%5d,a[i]); printf(\n); } 运行情况下: Enter array a: 8 6 5 4 1↙ array a: 8 6 5 4 1 Now,array a: 1   4  5  6  8 思考:第3个for语句中的i<N/2可否改成i<=N/2?如N为6时又如何? 题目3以下程序以每一行输出4个数据的形式输出a数组。 #includestdio.h main() { int a[20],i; for(i=0;i20;i++) scanf(%d,a[i]); for(i=0;i20;i++) {if (i%4==0 ) printf(\n); ; printf(%3d,a[i]); } printf(\n); } 题目4以下程序的功能是:从键盘上输入若干个学生的成绩,计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。 main( ) { float x[1000], sum=0.0, ave, a; int n=0, i; printf(Enter mark:\n);scanf(%f,a); while(a=0.0 n1000) { sum+= a ; x[n]= a ; n++; scanf(%f,a); } ave= sum/n ; printf(Output:\n); printf(ave=%f\n,ave); for (i=0;in;i++) if (x[i]ave ) printf (%f\n,x[i]); } 题目5 求一个3×3矩阵对角线元素之

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档