1、m+) if(n%m= =0) return 0。 return 1。/*输出100以内所有素数*/int main() int i。 for(i=2。i100。i+) if(isprime(i)= =1) printf(“%4d”,i)。 return 0。运行结果:2、 调试程序:对一维数组中的元素进行逆序排列。#define N 10 int aN=0,1,2,3,4,5,6,7,8,9,i,temp。 printf(“the original Array is:n ”)。 for(i=0。N。 printf(“%4d”,ai)。N/2。i+) /*交换数组元素使之逆序*/ temp=a
2、i。 ai=aN-i-1。 aN-i-1=temp。 printf(“nthe changed Array is:n”)。3、 调试程序:在二维数组中,若某一位置上的元素在该行中最大,而在该列中最小,则该元素即为该二维数组的一个鞍点。要求从键盘上输入一个二维数组,当鞍点存在时,把鞍点找出来。#define M 3#define N 4 int aMN,i,j,k。 printf(“请输入二维数组的数据:M。 for(j=0。jaik) k=j。j+) /*判断第i行的最大值是否为该列的最小值*/ if(ajk break。 if(j=M) /*在第i行找到鞍点*/ printf(“%d,%d,
3、%dn”),aik,i,k)。4、 调试程序:利用指针输出二维数组的元素。 int a34=1,3,5,7,9,11,13,15,17,19,21,23。 int *p。 for(p=a0。pmax) max=sum。 maxi=i。 average/=10。 printf(“ 学号 姓名 成绩1 成绩2 成绩3 平均分n)。10。 printf(“%8s%10s”,stui.num,stui.name)。 printf(“%7d”,stui.scorej)。 printf(“%6.2fn”,stui.avr)。 printf(“平均成绩是:%5.2fn”,average)。 printf(“
4、最好成绩的学生是:%s,总分是%d”,stumaxi.name,max)。运行结果3、实验小结对C语言中函数、数组、指针和结构体的概念,有了进一步的加深。并且可以利用C语言进行初步程序设计。四、教师评语实验一 顺序表与链表1、掌握线性表中元素的前驱、后续的概念。2、掌握顺序表与链表的建立、插入元素、删除表中某元素的算法。3、对线性表相应算法的时间复杂度进行分析。4、理解顺序表、链表数据结构的特点(优缺点)。 1、阅读下面程序,在横线处填写函数的基本功能。并运行程序,写出结果。malloc.h#define ERROR 0#define OK 1#define INIT_SIZE 5 /*初始分
5、配的顺序表长度*/#define INCREM 5 /*溢出时,顺序表长度的增量*/typedef int ElemType。 /*定义表元素的类型*/typedef struct Sqlist ElemType *slist。 /*存储空间的基地址*/ int length。 /*顺序表的当前长度*/ int listsize。 /*当前分配的存储空间*/Sqlist。int InitList_sq(Sqlist *L)。 /* 初始化顺序表L,并将其长度设为0 */int CreateList_sq(Sqlist *L,int n)。 /* 构造顺序表的长度为n */int ListIns
6、ert_sq(Sqlist *L,int i,ElemType e)。/*在顺序线性表L中第i个 元素之前插入新的元素e */int PrintList_sq(Sqlist *L)。 /*输出顺序表的元素*/int ListDelete_sq(Sqlist *L,int i)。 /*删除第i个元素*/int ListLocate(Sqlist *L,ElemType e)。 /*查找值为e的元素*/int InitList_sq(Sqlist *L) L-slist=(ElemType*)malloc(INIT_SIZE*sizeof(ElemType)。 if(!L-slist) retur
7、n ERROR。length=0。listsize=INIT_SIZE。 return OK。/*InitList*/int CreateList_sq(Sqlist *L,int n) ElemType e。n。 printf(input data %d,i+1)。 scanf(%d,&e)。ListInsert_sq(L,i+1,e) return ERROR。/*CreateList*/*输出顺序表中的元素*/int PrintList_sq(Sqlist *L) for(i=1。=L-length。%5d,L-slisti-1)。/*PrintList*/int ListInsert_
8、sq(Sqlist *L,int i,ElemType e) int k。if(ilength+1) return ERROR。if(L-lengthlistsize) slist=(ElemType*)realloc(L-slist,(INIT_SIZE+INCREM)*sizeof(ElemType)。slist) listsize+=INCREM。 for(k=L-length-1。k=i-1。k-) slistk+1=k。slisti-1=e。length+。/*ListInsert*/*在顺序表中删除第i个元素*/int ListDelete_sq(Sqlist *L,int i) if(ilength) return ERROR。for(p=i-1。-p+)slistp=L-slistp+1。length-。/*在顺序表中查找指定值元素,返回其序号*/int ListLocate(Sqlist *L,ElemType e) Sqlist sl。 int n。please input n:)。 /*输入顺序表的元素个数*/n)。 if(n0)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1