项目案例报告
课程名称:程序设计皋础
院 系:计算机科学与信息工程学院 学生姓名:李飞
学 号:专业班级:网络工程
指导教师:周晏
2013年12月
案例一
【案例内容】
1.编程判定从键盘输入n个数据互不相等。
【案例分析】
每次输入一个数就与现有的数进行比较,如果有相等的就不用再输入了,或者输入完成后打 印“有”,如果没有相等的就收录
【案例实现】
#include
int main ()
{
int n,, j, i, m;
printf 请输入数据的个数:\n〃);
scanf(〃%d〃, &n);
float a[n];
for (i=0;i
{
scanf("%f", &a[i]); printf (,z输入的数据是%f “,a[i]);
}
for(j=0;j
{
for(m=0;m
{
if (a[j]-a[i] ==0)
{
printf (,z存在相同!! ! “);
break;
}
else
{
continu;
}
}
}
printf (〃%f\n〃,a[i]);
【案例验证】
【案例总结】
通过进行该项目我了解了 for?的循环使用必须右三个表达式的存在;
对于 循环体屮间的判断 之后的 表达式 屮断时选用Break函数述是continue函 数很重要。
对于for的循环体内的if的选择语句判断语句 到哪里循环终止也很重要。
案例二
【案例内容】
&编程先由计算机“想”一个1到100之间的数请人猜,如果人猜对了,则结束游戏,并在 屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,否则计算机给出提 示,告诉人所猜的数是太大还是太小,直到人猜对为止。
提示:随机函数srand
为函数rand()设置随机数种子来实现对函数rand所产生的伪随机数的“随机化"
通过键入随机数种子,产生[0,100]之间的随机数
scanf(”%u", &seed);
srand(seed);
magic = rand() % 100 + 1;
【案例分析】
采用一个随机函数选择一个数,然后由玩家进行输入的数字与系统随机数进行比较,然 后判断是大还是小,再由玩家根据输出的提示完成游戏。
【案例实现】
# include
#include〃使用随机函数所需要的头函数
#include
int main()
int seed,magic,m=l;
scanf「%d”,&seed);
srand((int)time(NULL));
magic = rand()% 101;〃产生[0,100]的随机数
while(l)
{
if(seed==magic) 〃判断是否猜对
{
printf(”恭喜你!你猜对了共用了%d^\nM,m); break;〃如果猜对退出循环
}
else〃猜不对提示一下接着猜
{
if(seed>magic)
printfC你猜大了! \n”);
else
printfC你猜小了! \nn);
scanf(”%d”,&seed);
m++;〃记录猜的次数
return 0;
【案例验证】
【案例总结】
(1)掌握了 while的循环,以及break语句的使用方法一直接跳出循环体'
(2)作为一个程序员,应同时考虑所编写的程序(更是一个游戏)对于客户的使用是 否容易接受,因此每步程序的运行,都需要捉示内容的输出来帮助客户理解程序 的运行方式。
案例三
【案例内容】
1()?A、B、C、D、E五个人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自 找地方睡觉。日上三杆,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走门己 的一份。B第二个醒來,也将鱼分为五份,把多余的一条鱼扔掉,保持走自己的一?份。C、D、 E依次醒来,也按同样的方法拿走仇。问他们合伙至少捕了多少条仇?
【案例分析】
【案例实现】
#include
int main()
int e=6,i; fdr(i=l;i<5;i++) e=e*5+l;
printf(n%d\nn,e); return 0;
【案例验证】
【案例总结】
该题目较复朵,需要分析好思路,理解Z间的函数关系;
定义变量的时候可以同时赋值初始化。
指导教师评语:
1、项目案例报告:
a、内容:
不完整口
完整口
详细口
b、案例分析:
较差 口
合理口
非常合理口
C、实现:
未实现口
部分实现口
全部实现口
d、文档格式:
不规范口
基本规范口
规范口
2、上机测试:
a、未能完全理解题目,测试情况较差 口
b、部分理解题目,部分测试情况正确 口