C语言实验lab10
C程序设计实验报告
学院:国际商学院班级:14电商专业:电子商务姓名:熊靓男日期:15.5.25学号:1420070049实验目的
复习一维数组
掌握二维数组参数的传递
掌握排序算法
实验内容
消灭怪物
在阳光明媚月色皎洁的一个晚上,独自开车行驶在路上突然,天空中出现一个庞大的怪物正要向J袭来,反应迅速的J立马从车厢里拿武器准备消灭怪物,他车厢里有n把离子枪, 每一把枪都有各自的伤害,而怪物也有防御力,要想用枪消灭怪物就必须要枪的伤害大于怪物的防御力,现在J想知道,他车厢里有多少把枪能消灭怪物,也就是说 有多少把枪的伤害大于怪物的防御力。
实验记录
算法描述
#include
int main()
{
int Size,Power,i;
int count(int*,int,int);
printf("请输入枪的数量:");
scanf("%d",&Size);
printf("请输入怪物的防御力:");
scanf("%d",&Power);
printf("请输入每把枪的伤害:\n");
int Hurt[Size];
for(i=0;i
{
scanf("%d",&Hurt[i]); //利用循环给数组赋值
}
printf("有%d把枪的伤害大于怪物的防御力!\n",count(Hurt,Size,Power));//函数调用时,数组只要写名称,不声明元素个数。
return 0;
}
int count(int hurt[],int size,int power)
{
int t=0,i;
for(i=0;i
{
if(hurt[i]>power) t++;//计数器t,遇到伤害值大于防御则t++}
return t;
}
测试数据(至少3组不同测试数据)
5;12;2 5 9 13 15;
B.7;3;1 4 7 9 14 0 3;
C.3;9;10 89 1;
运行结果(程序执行结果截图 )
1. 输出:
2. 输出:
3. 输出:
改写程序
改写课本316页程序8.9:将二维数组val的大小改为4行5列,并输出所有元素
实验记录
算法描述
#include
#define ROWS 4
#define COLS 5
void display(int nums[ROWS][COLS])
{
int rowNum,colNum;
for(rowNum=0;rowNum
{
for(colNum=0;colNum
{
printf("%4d",nums[rowNum][colNum]);
}
printf("\n");
}
}
int main()
{
int val[ROWS][COLS]={8,16,9,52,3,15,27,6,14,25,2,10};//二维数组赋初值
display(val);//调用函数只写数列名称
return 0;
}
运行结果(程序执行结果截图 )
1. 输出:
成绩查询
某科的期中考试成绩已经出来了,作为老师的好助手,你要完成一项任务:编写一个程序,通过这个程序,老师只需输入学号即可查到该名同学的成绩。为了完成这项任务,你需要定义一个5行2列的二维数组(为简单起见,假设学生人数为5),并初始化,每行第一个数为学号,第二个数为成绩。
提示:编写一个getScore函数,该函数接收一个二维数组参数和一个学号,返回对应 的成绩。
函数原型为:int getScore( int score[ROWS][COLS], int id );
实验记录
算法描述
#include
#define ROWS 5//宏定义行列个数
#define COLS 2
int getScore( int score[ROWS][COLS], int id )
{
int i,j,t;
for(i=0;i
{
if(score[i][0]==id) t=score[i][1]; //找到与学号匹配的成绩并带回
}
return t;
}
int main()
{
int Score[ROWS][COLS],i,j,Id;
printf("请输入五位学生的学号和成绩:\n");
for(i=0;i
{
for(j=0;j