重庆大学c语言平时作业四,重庆大学C语言实验报告02.doc

重庆大学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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值