
#include<stdlib.h>
#define MAXSIZE 100
typedef int KeyType
typedef int DataType
typedef struct{
KeyType key
//DataType data
}SortItem,SqList[MAXSIZE]
int bubblesort(SqList L,int n)
int BiInsertSort(SqList L,int n)
int main()
{
int m,n,i,j,k
SqList L
scanf("%d",&n)
srand(0)
for(i=0i<ni++) L[i].key=rand()%1000
k=BiInsertSort(L,n)
for(i=0i<ni++) {if(i==10) printf("\n%d ",L[i])else printf("%d\n",L[i])}
printf("\n\n%d",k)
system("pause")
return 0
}
int bubblesort(SqList L,int n)
{
int i,j,over,count=0
SortItem p
for(i=0i<n-1i++)
{
over=1
count++
for(j=n-1j>ij--)
{
if( count++&&L[j].key<L[j-1].key)
{
p=L[j]
L[j]=L[j-1]
L[j-1]=p
over=0
count++
}
}
if(over) break
}
return count+1
}
int BiInsertSort(SqList L,int n)
{
int i,j,low,upper,mid
SortItem p
for(i=1i<ni++)
{
p=L[i]
low=0
upper=i-1
while(low<=upper)
{
mid=(low+upper)/2
if(p.key<L[mid].key) upper=mid-1
else low=mid+1
}
for(j=i-1j>=lowj--) L[j+1]=L[j]
L[low]=p
}
return 0
}
1、实验名称:计算出1000以内10个最大素数之和。
2、实验目的:熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。
3、实验内容:计算并输出1000以内最大的10个素数以及它们的和。
4、要求:在程序内部加必要的注释。 由于偶数不是素数,可以不考虑对偶数的处理。 虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。 输出形式为:素数1+素数2+素数3+…+素数10=总和值。
5、算法描述流程:Main函数:判断素数:
6、测试数据:分别输入1000、100、10测试。
7、运行结果:出现问题及解决方法:当素数个数小于10时的处理不够完善,考虑不够周全。学习耐心与细心不足,如scanf(“%d”,&n)中的“&”经常忘记。
8、编程思想不够发散,例如如何判断素数,只能想出2种方式(其中1种为参考教科书上内容);在今后学习中应更多的动脑,综合运用所学。
9、基本功不够,如清屏clrscr()等函数用的不好,有时同样的问题多次犯,给实验课老师带来很大的麻烦。这说明我的知识不够广,有很多有用但不做考试要求的书中内容没有学好,认识程度不够深刻。就算以后C语言这门课程结束后,也应多看相关东西,多上机练习,才能真正从本质上提高自己。
10、物理实验报告 ·化学实验报告 ·生物实验报告 ·实验报告格式 ·实验报告模板
11、知识不够广泛,如VC++6.0等程序,自己试了好一阵也不会用;说明我电脑水平还是不够,自学能力不够。已会的东西掌握的还是不够好。
12、实验心得:通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。其间开心过、郁闷过、无奈过、彷徨过……随着实验的胜利成功与实验报告的胜利完成,有点微微的自豪感使人难忘。感谢高克宁老师的高标准、严要求,感谢实验课上小老师们的耐心指点,也感谢我在实验中经历过的点点滴滴……伴随着学习的深入,我发现高深的东西还有很多很多,等待着我自己去挖掘。对C语言,我会更加努力。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)