项目案例报告000.docx
- 文档编号:5206737
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:10
- 大小:46.44KB
项目案例报告000.docx
《项目案例报告000.docx》由会员分享,可在线阅读,更多相关《项目案例报告000.docx(10页珍藏版)》请在冰豆网上搜索。
项目案例报告000
项目案例报告
课程名称:
高级语言程序设计
院系:
计算机科学与信息工程学院
学生姓名:
张东洋
学号:
201203030031
专业班级:
12级软件工程1班
指导教师:
周晏
2013年03月
案例一
【案例内容】
请编写一个函数fun,它的功能是:
计算n门课程的平均分,计算结果作为函数值返回。
例如:
若有5门课程的成绩是:
90.5,72,80,61.5,55,则函数的值为71.80。
【案例分析】
在主函数中调用函数fun,编写fun函数功能是计算n门课程的平均分,返回结果。
【案例实现】
#include
floatfun(float*a,intn)
{
float*p,sum=0.0,j;//定义一个指针变量*p,接收参数
inti;
for(p=a,i=0;i<5;i++)//循环实现累加
sum=sum+(*p++);//计算平均值
j=sum/n;
returnj;//返回值
}
main()
{
floatscore[30]={90.5,72,80,61.5,55},aver;
aver=fun(score,5);//调用函数fun
printf("\nAveragescoreis:
%5.2f\n",aver);
}
【案例验证】
图上机测试
【案例总结】
(1)复习巩固了函数的调用,对调用有更深的理解。
(2)能利用指针编写较简单的程序。
(3)对数组名作函数参数有了了解。
案例二
【案例内容】
请编写一个函数fun,它的功能是:
比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。
若两个字符串长度相同,则返回第一个字符串。
【案例分析】
可以先计算出每个字符串的长度i,j,然后比较它们的大小,如果i大则输出对应的字符串;如果j大则输出对应的字符串。
【案例实现】
#include
char*fun(char*s,char*t)
{
char*p,*q;
inti=0,j=0;
p=s;q=t;//指针变量分别指向
while(*p++!
='\0')//判断有多少个字符
{i++;}//输出字符的个数
while(*q++!
='\0')
{j++;}
p=s;q=t;//使指针变量p,q分别指向字符串第一个字符
printf("thelongeris:
\n");
if(i>j)returnp;//返回较长的字符串
elsereturnq;
}
main()
{
chara[20],b[10];
printf("Input1thstring:
");
gets(a);//输入字符串a
printf("Input2thstring:
");
gets(b);//输入字符串b
printf("%s\n",fun(a,b));//函数调用
return0;
}
【案例验证】
输入:
asdfgh
zxcvb
输出:
asdfgh
图上机测试
【案例总结】
(1)此程序应用了while判断,对以前的知识作了复习。
(2)对指针作函数参数有了理解。
(3)对于指针变量多次指向时,要重新声明指向首个元素。
案例三
【案例内容】
请编一个函数fun(char*s),该函数的功能是把字符串中的内容逆置。
例如:
字符串中原有的字符串为abcdefg,则调用该函数后,串中的内容为gfedcba。
【案例分析】
输入一个字符串,先计算出来有多少个字符,运用几个语句使首尾交换,达到把字符串中的内容逆置的目的。
【案例实现】
#include
#include
#defineN81
voidfun(char*s)//形参是指针变量
{
inti,j,n=0,m;
char*p,temp;//定义指针变量p
p=s;//使p指向首个字符
while(*p++!
='\0')
{n++;}//计算出输入的字符个数
m=(n-1)/2;
p=s;
for(i=0;i<=m;i++)
{j=n-1-i;
temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;//把a[i],a[j]交换
}
}
main()
{
chara[N];
printf("Enterastring:
");
gets(a);//输入字符
printf("Theoriginalstringis:
");
puts(a);
fun(a);//调用fun函数
printf("\n");
printf("Thestringaftermodified:
");
puts(a);
}
【案例验证】
输入:
asdfghjkl
图上机测试
【案例总结】
(1)对用指针编写程序有了更深一层的理解。
(2)对于指针变量多次指向时,要重新声明指向首个元素。
案例四
【案例内容】
请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码降序排列。
例如,若原来的字符串为CEAedca,则排序后输出为CedcEAa。
【案例分析】
此程序和对一个字符串排序一致,只是把首尾的两个不计,调用函数fun对它操作即可。
【案例实现】
#include
#include
voidfun(char*s,intnum)
{
inti,j,k;
chart;//定义变量
for(i=1;i {k=i; for(j=i+1;j if(s[j]>s[k])k=j; if(k! =i) {t=s[i];s[i]=s[k];s[k]=t;}//对除首尾字符降序排列 } } main() { chars[10]; printf("输入7个字符的字符串: "); gets(s);//输入7个字符的字符串 fun(s,7);//调用函数 printf("%s\n",s); return0; } 【案例验证】 输入: aobpsuh 输出: auspobh 图上机测试 【案例总结】 (1)基本的数据变换要掌握。 (2)对指针进行操作要明白它的指向。 (3)对于更深一层的指针还要钻研。 案例五 【案例内容】 请编写函数fun,该函数的功能是: 判断字符串是否为回文? 若是则函数返回1,主函数中输出YES,否则返回0,主函数中输出NO。 回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 【案例分析】 调用函数fun,编写语句判断输入的字符串的首尾字符是否一样,返回1或0,继而输出yes或no判断是否是回文数。 【案例实现】 #include #defineN80 intfun(char*str) { char*p;//定义指针变量p intm,n=0,i,j,z; p=str;//指针变量p指向字符首个字符 while(*p++! ='\0') {n++;}//计算输入的字符个数 m=(n-1)/2; p=str;//重新指向 for(i=0;i<=m;i++) {j=n-1-i; if(*(p+i)! =*(p+j))//判断首尾字符是否相等 return(z=0);//如果不等,返回z=0,否则返回z=1 } } main() { chars[N]; printf("Enterastring: "); gets(s);//输入字符串 printf("\n\n"); puts(s);//输出输入的字符串 if(fun(s))//调用函数 printf("YES\n"); else printf("NO\n");//输出结果 return0; } 【案例验证】 输入: zxcvbvcxz 输出: zxcvbvcxz YES 图1上机测试 输入: asdfgghhj 输出: asdfgghhj NO 图2上机测试 【案例总结】 (1)通过此题复习了回文数的编程语句,又学习了用指针表示方法。 (2)对于一题有多个答案方向时,应该分个写出。 (3)通过以上几题的练习,对指针有了深入的理解。 指导教师评语: 1、项目案例报告: a、内容: 不完整□完整□详细□ b、案例分析: 较差□合理□非常合理□ c、实现: 未实现□部分实现□全部实现□ d、文档格式: 不规范□基本规范□规范□ 2、上机测试: a、未能完全理解题目,测试情况较差□ b、部分理解题目,部分测试情况正确□ c、理解题目较清楚,测试情况基本正确□ d、理解题目透彻,测试情况正确□ 项目案例报告成绩: ,占总成绩比例: 60% 项目案例其它环节成绩: 环节名称: 上机测试,成绩: ,占总成绩比例: 40% 总成绩: 指导教师签字: 年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 案例 报告 000