重庆大学C语言实验报告02
实验题目标准库函数使用与编译预处理实验时间 2012-4-20实验地点DS1402实验成绩 实验性质□验证性 √设计性 □综合性教师评价:
□算法/实验过程正确; □源程序/实验内容提交 □程序结构/实验步骤合理;
□实验结果正确; □语法、语义正确; □报告规范; 其他: 评价教师签名:一、实验目的
1、掌握C项目的一般结构、程序的开发环境、过程
2、掌握函数的调用、参数传递用法。
3、掌握随机数、数组的使用。二、实验项目内容(实验题目)
设某次活动有20个学生参加,每个学生有一个学号,学号为8位正整数,以2012开始,后4位为随机数。要求编写C程序实现下面的功能
使用工程文件的方法来分别存放C源程序,文件名为a.cpp、b.cpp、c.cpp,也可以自己取名。
编写生成学号的函数、排序函数(用于对学号进行排序);
要求将自己的学号放入到排序完成后学号数组开始位置。
编写进行抽奖的函数,抽奖规则是三等奖3名,二等奖2名,一等奖1名。
5、编写主函数进行测试,并打印出结果。
三、源程序(实验过程或算法)
1、算法如下
1.采用工程文件的方法,创建一个空白工作区,先编写一个主函数,将其放在主文件中,主函数的功能为调用其他函数并打印出结果;
2.主函数文件中定义两个全局变量,在其他文件中用 extern 进行扩展,实现学号的传递;
3. 定义产生随机数的函数aw1,定义排序函数aw2,定义抽奖函数aw3,定义了判断自己是否中奖的函数aw4,将其分别放在下列四个文件中:”a.cpp”,”b.cpp”,”c.cpp”,”d.cpp”;
4.分别调用上述函数,打印出相关结果。
2、源程序如下
#include #include int a[20]; int b[6]; void main void aw1 ; void aw2 ; void aw3 ; void aw4 ; aw1 ;
printf "before sorting:\n" ; for int i 0;i 20;i++ printf "%10d",a[i] ;
aw2 ; printf "\nafter sorting:\n" ; for i 0;i 20;i++ printf "%10d",a[i] ;
printf "\nMy number is %d\n",a[0] ; aw3 ;
printf "The third prize:\n" ; for i 0;i 3;i++ int k b[i];
printf "%10d",a[k] ; printf "\nThe second prize:\n" ;
for i 3;i 5;i++ int k b[i];
printf "%10d",a[k] ; printf "\nThe first prize:\n" ; for i 5;i 6;i++ int k b[i];
printf "%10d",a[k] ; aw4 ; printf "Hello World!\n" ; /*a.cpp*/
#include "stdafx.h"
#include
#include
#include
extern int a[20];
void aw1 srand time NULL ; for int i 0;i 20;i++ a[i] 座机电话号码+rand %10000; /*b.cpp*/
#include "stdafx.h"
#include
extern int a[20];
void aw2 int temp,i,j,k; for i 0;i 20;i++ k i; for j i+1;j 20;j++ if a[j] a[k] k j;
if k! i temp a[i],a[i] a[k],a[k] temp; for i 0;i 20;i++ if a[i] 座机电话号码 temp a[i],a[i] a[0],a[0] temp; else
a[0] 座机电话号码; /*c.cpp*/
#include "stdafx.h"
#include
#include
#include
extern int a[20];
extern int b[6];
void aw3 srand time NULL ; for int i 0;i 6;i++ b[i] rand %20; for int j i-1;j 0;j-- while b[i] b[j] b[i] rand %20; /*d.cpp*/
#include "stdafx.h"
#include
extern int b[6];
void