C语言程序设计江宝钏著实验六答案
6.4 实验六 数组一、 实验目的与要求1. 掌握一维数组的定义、赋值和输入输出的方法。2. 理解一维数组的存储方法及下标的表示方法。3. 掌握与数组有关的算法(特别是排序算法 )。4. 掌握二维数组的定义、赋值和输入输出的方法。5. 理解二维数组的存储方法及下标的表示方法。6. 实验 4 学时。二、实验内容1程序验证题与改错题(1)程序验证题 给定一个整型数组 a,要求求出其中小于 0 的元素的个数。请验证下面的程序是否符合题目要求。#define N 10void main() int aN=11,2,4,-1,5,-3,-66,0,10,-5;int i; /*变量 i 用于 for 循环*/int count=0; /*变量 count 用于技术,初始化为 0*/for (i=0;i#define N 3void main() int aNN=1,2,3,4,5,6,7,8,9;int i,j; /*变量 i,j 用于 for 循环*/int sum=0; /*变量 sum 用于求和,初始化为 0*/for (i=0;i#define N 10void main()int aN=11,2,4,-1,5,-3,-66,0,10,-5;int i,sum=0;int count=0;for (i=0;ia0)sum+=ai;printf(小于 0 元素的个数为 :%dn,count);printf(大于 a0的元素之和为:%dn,sum);注 2:对上述程序进行优化,消除内循环,实现同样的效果。在 的基础上,修改程序,求出数组 a 中反对角线元素之和。提示:内循环用逆序;i+j=N-1。答:#include #define N 3void main()int aNN=1,2,3,4,5,6,7,8,9;int i,j;int sum=0;for (i=0;i#define N 3void main()int aNN=1,2,3,4,5,6,7,8,9;int i,j;int sum=0;for (i=0;ivoid main()int a10,max,min,t,p;int i;for(i=0;imax)max=ai;t=i;if(ai#include#define N 10000void main() char aN,t;int len,i,j;gets(a);len=strlen(a);for(i=0,j=len-1;i#define N 100void main() int i,j,x,y,aNN,t;printf(行数:);scanf(%d,&y);printf(列数:);scanf(%d,&x);printf(输入数列:n);for(i=0;ii;j-) t=aij; aij=aji; aji=t; printf(交换后的数列为:n);for(i=0;ivoid main()int a35;int i,j;double sum1,sum2=0,v3,average;printf(t 张t 王t 李t 赵t 周n);for(i=0;i#define N 1000void main()int aN,n;int i,j,t;printf(请输入数组中元素的个数:);scanf(%d,&n);printf( 输入数组:);for(i=0;iaj+1)t=aj;aj=aj+1;aj+1=t;printf( 排序后的数列为:);for(i=0;ie。若找到相等元素,则返回元素下标,否则返回-1 表示无此数。答:#include#define N 15void f(int s,int n);void main()int sN=1,2,3,5,9,10,20,23,45,56,66,70,80,90,100,b=0,e=N,mid,x;printf(input anumber to search:);scanf(%d,&x);while(be)printf(%d not be foudn,x);void f(int s,int n)int i;for(i=n;iN;i+)si=si+1;printf(output the array after deleting the numbern);for(i=0;iN-1;i+)printf(%4d,si);printf(n);