文档详情

C语言标准库函数使用与编译处理实验报告.doc

发布:2017-07-25约2.5千字共5页下载文档
文本预览下载声明
标准库阑数使用4编译处理 实验题0标准库函数使用与编译预处理实验时间2016-4-28实验地点DS1408实验成绩实验性质□验证性 V设计性□综合性 教师评价: □算法/实验过程正确;□源程序/实验内容提交 □程序结构/实验步骤合理; □实验结果正确; □语法、语义正确; □报告规范; 其他: 评价教师签名: 一、实验目的 1、 掌捤c项n的一般结构、程序的幵发环境、过程 2、 掌掘函数的调用、参数传递用法。 3、 掌掘随机数、数组的使用。 二、实验项目内容(实验题目) 设某次活动有20个学屯参加,每个学屯有一个学号,学号为8位正整数,以2011 开始,后4位为随机数。要求编写C程序实现下Ifl丨的功能 1、 使工程文件的方法来分别存放C源程序,文件名为a.cpp、b.cpp、c.cpp, 也可以自己取名。 2、 编写生成学号(姓名:6个字母,选作)的函数、排序函数(用于对学号进行 排序); 3、 要求将己的信息放入到排序完成后学号数组开始位置。 4、 编写进行抽奖的闲数,抽桨规则是三等奖3名,二等奖2名,一等奖1名。 5、 编写主函数进行测试,并打印出结果。 三、源程序(实验过程或算法) 1、算法如下 首先对a[20j数组 调)|jsuijishu涵数:利】|j随机数?数产生20个2011XXXX的随机数。 调用paixu函数:利用冒泡排序,将a数组升序排列。 冒泡排序.? 1.从第一个位H开始,依次比较相邻两个位S上的数据,若是逆序则交换顺序,一趟扫 描后。M大的数据排到了M后而。 2.不考虑己经排好的数掘,重复1。 调用charu函数:若产生的随机数有输入的学号,则调换该数与啊a[0]的位11,赉则将a[0] 强制替换为输入的学号。 对b[6]数组 调用choujiang味丨数:利用随机数W数产也6个0?19的随机数。并将每个数与之前产生的数比较, 创建时间:2016.5.5 直到六个数互不相同。 最后 任意顺序打印出六个a[b[]]数,即为一二三等奖。 2、源程序如下 实验3.cpp #include nstdafx.hn #includestdio.h #includestdlib.h #includetime.h int main() { void suijishu(int a[]); void paixu(int a[]); void charu(int a[]); void choujiang(int b[]); inta[20],i,x,b[6]; suijishu(a); paixu(a); charu(a); choujiang(b); primf(”获得三等奖的是An”); for(i=0;i3;i++) { x=b[i]; printf(n%dW,,a[x]); printff获得二等奖的是:\n); for(i=3;i5;i++) { x=b[il; printf(,f%d\nr,,a[x]); printf(获得一等奖的是 x=bf51; printf(,f%d\nr,,a[x]); return 0; a.cpp #include ’’stdafx.h” #includestdlib.h #includetime.h void suijishu(int a[]) { int i; srand((unsigned)time(NULL)); for(i=0;i19;i++) a[i]1000+rand()%9000; b.cpp #include ’’stdafx.h” void paixu(int a[]) { int i,j,t; for(i=0;i19;i++) for(j=l;j20-i;j++) if(a[j]aU-l]) { t=a[j]; a[jl=a[j-ll; a〇-l]=t; c.cpp #include stdafx.h” void charu(int a| |) { int x,y; printf(n请输入你的学号:\nn); scanf(%d”,x); for(int i=l ;i20;i++) { if(a[i]==x) { y=a[0]; a[〇]=a[i]; a[i]=y; } else a[0]=x; d.cpp #include 丨’stdafx.h’’ #includestdlib.h #includetime.h void choujiang(int b[]) { srand((unsigned)time(NULL)); for(int i=0;i6;i++) { b[i]=rand()%20; for(int j=i-l ;j=0;j—) while(b[i]==b[j]) b[i]=rand()
显示全部
相似文档