计算机能力强化实训C实训报告Word格式文档下载.docx
- 文档编号:4916620
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:29
- 大小:223.93KB
计算机能力强化实训C实训报告Word格式文档下载.docx
《计算机能力强化实训C实训报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《计算机能力强化实训C实训报告Word格式文档下载.docx(29页珍藏版)》请在冰点文库上搜索。
5,n中的值为:
3,则调用该函数的结果为:
HelloWorld!
。
2.4求Sn的值
求
的值,其中a是一个数字,如2+22+222+2222(此时a=2,n=5),a和n均由键盘输入。
2.5抓住肇事者
一辆卡车违反交通规则,撞人后逃跑。
现场共有三个目击者,但都没有记住车号,只记下车号的一些特征。
甲说:
牌照的前两位数字是相同的;
乙说:
牌照的后两位数字是相同的,但与前两位不同;
丙是个数学家,他说,四位车号刚好是一个整数的平方。
请根据以上线索帮助警方找到车号。
2.6求矩阵乘积
已知矩阵
求矩阵C,C=A*B。
2.7求ddd的值
函数fun求sum=d+dd+ddd+……+dd...d(n个d),其中d为1-9的数字。
从主函数中输入d和n,调用fun函数,并以sum=XXXXXXX的形式输出结果。
分析:
3系统使用的主要函数
序号
菜单名
文件名
函数名
函数功能说明
1
成绩处理
成绩处理.h
chuli()
按要求处理学生成绩
2
删除指定字符串
删除指定字符串.h
shanchuzifu()
按要求删除原有字符串中指定字符串
3
求Sn
求Sn.h
twentyone()
求Sn值
4
抓住肇事者
抓住肇事者.h
zhuangren()
按证词寻找肇事车牌号
5
求矩阵乘积
求矩阵乘积.h
jvzhen()
6
求Sum
求Sum.h
hanshu()
求Sum值
4详细设计
4.1程序总体结构图
根据设计出如下“C语言实验演示系统”的主控模块。
在主控模块中,只要在主函数main()前加入包含各子系统文件组成的头文件,我们就能方便的调用各子系统的函数了。
图4.1程序总体结构图
子模块1:
图4.2成绩处理层次图
子模块2:
图4.3删除指定字符串系统的层次图
子模块3:
图4.4求Sn系统的层次图
子模块4:
图4.5抓住肇事者系统的层次表
子模块5:
图4.6求矩阵乘积系统的层次表
子模块6:
图4.7求ddd相加的层次表
4.2程序流程图
图4.9模块2流程图
图4.10模块3流程图
图4.11模块4流程图
图4.12模块5流程图
图4.13模块6流程图
5功能测试
5.1系统主界面
1.操作运行说明
根据选择菜单号可运行选中的子程序,输入后会进入子程序。
2.运行主界面
系统以菜单形式构成,有一个主控程序控制并选择其余六个子程序的运行如下图所示:
图5.1主菜单界面图
5.2成绩处理
运行程序,输入‘1’,进入成绩处理功能,输入n,score就可以得出所要的结果。
2.运行界面
图5.2成绩处理系统功能测试
5.3删除指定字符串功能
运行程序,输入‘2’,进入删除指定字符串功能,输入k,n就可以得出所要的结果。
图5.3删除指定字符串功能测试
5.4求Sn功能测试
运行程序,输入‘3’,进入统计单词个数功能,输入带有逗号的字符串,回车后输出单词个数。
图5.4求Sn功能测试
5.5抓住肇事者
图5.5抓住肇事者系统功能测试
5.6求矩阵功能
运行程序,输入‘5’,进入求矩阵乘积功能,自动输出9个元素,可以做出三行三列的矩阵。
图5.6求矩阵功能测试
5.7求矩阵功能
运行程序,输入‘6’,进入求ddd的功能测试界面,输入d的个数和d的值,即可自动求出sum的值。
图8.2求ddd的功能测试
6程序设计调试情况分析
由于对于c语言程序设计还不是相当熟悉,在程序设计过程中,存在一定的问题。
通过从教材和网上查找相关资料,使问题得以解决。
在程序运行的时候,由于功能较多,可能产生界面较为繁琐。
我通过网上查找相关资料,使用system("
cls"
)语句是界面能够得以清频。
但清频语句在文章的位置又是相当关键,通过对该语句位置不断地尝试和对程序不断研究,使语句得以发挥适当作用。
由于清频语句的存在,在输入指令后,界面会迅速清频,这样使操作者不是很适应。
所以我又从网上查找相关资料,查到#include<
windows.h>
Sleep()语句可使程序延迟时间。
通过使用该语句使程序又具有延时功能。
这样就使程序顺利完成。
7实训小结
在这个星期里,我们在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
个人认为课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:
1、加深对课堂讲授内容的理解
课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。
即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。
只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。
通过上机实验来验证自己编制的程序是否正确,恐怕是大多数同学在完成老师作业时的心态。
但是在程序设计领域里这是一定要克服的传统的、错误的想法。
因为在这种思想支配下,可能你会想办法去"
掩盖"
程序中的错误,而不是尽可能多地发现程序中存在的问题。
自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c语言的理解和程序开发能力。
2、熟悉程序开发环境、学习计算机系统的操作方法
一个c语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。
所谓"
环境"
就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。
通过上机实验,熟练地掌握c语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。
同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。
3、学习上机调试程序
完成程序的编写,决不意味着万事大吉。
你认为万无一失的程序,实际上机运行时可能不断出现麻烦。
如编译程序检测出一大堆错误。
有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。
开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。
程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的。
有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看出错误所在。
通过这次为数不多的几天计算机实践学习,我们了解了一些关于c语言的知识,理解巩固了我们c语言的理论知识,这我们将来到社会工作将会有莫大的帮助。
同时它让我知道,只要你努力,任何东西都不会太难。
参考文献
谭浩强著《C程序设计》(第四版)清华大学出版社
夏耘吉顺如主编《大学程序设计(C)实践手册》复旦大学出版社
附录系统源程序
主界面程序:
#include<
stdio.h>
stdlib.h>
string.h>
conio.h>
#include"
字符排序.h"
字符统计.h"
奇数计数.h"
求sin.h"
求ddd.h"
文件.h"
voidmain()
{
intchoice;
charch;
system("
colorf0"
);
printf("
是否要进入系统<
y/n>
:
"
scanf("
%c"
&
ch);
while(ch=='
y'
||ch=='
Y'
)
{
printf("
\n"
\n\t\tC实训课题演示系统"
\n\t\t主菜单"
\n\t\t╔═════════════════╗"
\n\t\t║1-----字符排序║"
\n\t\t║2-----字符串统计║"
\n\t\t║3-----奇数计数║"
\n\t\t║4-----求sin║"
\n\t\t║5-----求ddd║"
\n\t\t║6-----奇偶文件║"
\n\t\t║0-----退出║"
\n\t\t╠═════════════════╝"
\n\t\t╚请选择所需要的操作:
(0--6):
scanf("
%d"
choice);
getchar();
正在进入请等待<
2秒>
....."
Sleep(2000);
//暂停2秒
system("
//清屏
switch(choice)
{
case1:
zifupaixu();
break;
//字符排序
case2:
zifutongji();
//字符统计
case3:
jishujishu();
//奇数计数
case4:
qiusin();
//求正弦
case5:
qiuddd();
//求ddd的和
case6:
wenjian();
//奇偶数文件
case0:
ch='
n'
;
default:
printf("
您输入的选择有误!
请重新输入:
}
}
}
字符排序程序:
#include<
#include<
zifupaixu()
chars1[80],s2[80];
inti,j=0,t;
请输入一个字符串:
gets(s1);
t=strlen(s1);
for(i=0,j=0;
i<
t;
i=i+2)
s2[j++]=s1[i];
//循环将奇数位的字符传给s2
for(i=1;
//循环将偶数位的字符传给s2
s2[j]='
\0'
新排序后的字符串:
puts(s2);
}
字符串统计程序:
zifutongji()
chara;
inth,k,l,m,t;
h=0;
t=0;
k=0;
l=0;
m=0;
while(a!
='
\n'
{
a);
if(a>
A'
&
a<
Z'
)h++;
//统计大写字母
elseif(a>
a'
z'
)t++;
//统计小写字母
0'
9'
)k++;
//统计数字
elseif(a=='
'
)l++;
//统计空格
elsem++;
大写字母的个数:
%d\n小写字母的个数:
%d\n数字的个数:
%d\n空格的个数:
%d\n其他字符的个数:
%d\n"
h,t,k,l,m);
奇数计数程序:
jishujishu()
intNum[10]={0},i;
charstr[80];
请输入一串数字:
gets(str);
//输入一串数字
for(i=0;
str[i]!
i++)
switch(str[i])//计算每个数字出现的个数
case'
Num[0]++;
1'
Num[1]++;
2'
Num[2]++;
3'
Num[3]++;
4'
Num[4]++;
5'
Num[5]++;
6'
Num[6]++;
7'
Num[7]++;
8'
Num[8]++;
Num[9]++;
default:
for(i=1;
10;
i+=2)
%d的个数:
i,Num[i]);
//输出每个奇数的个数
return0;
求正弦程序:
math.h>
doubleextra(intb)//求阶乘
intm;
doubleg=1.0;
for(m=1;
m<
=b;
m++)
g=g*m;
return(g);
qiusin()
doublesum,x,q;
intcounter,t,k;
counter=0;
k=0;
请输入x:
%lf"
x);
sum=0;
do
k=2*t+1;
q=extra(k);
sum+=(pow(-1,t)*pow(x,k)*1.0)/q;
counter++;
t++;
}while((pow(x,k)*1.0)/q>
=pow(10,-5));
sin(%lf)=%lf\n累加次数为%d\n"
x,sum,counter);
//输出结果
求ddd的和程序:
longfun(intx,inti,intm)
longsum=0;
for(;
i>
0;
i--)
{sum+=x;
x=x*10+m;
returnsum;
qiuddd()
longn,d,sum=0;
请输入d的个数和d的值:
%ld%ld"
n,&
d);
sum=fun(d,n,d);
sum=%ld\n"
sum);
奇偶数文件程序:
#defineN5
wenjian()
intnum[80],i,k;
FILE*f1,*f2;
f1=fopen("
text1"
"
wb"
if(f1==NULL)
Failtoopen!
exit(0);
}
Pleaseinput%dnumbers\n"
N);
for(i=0;
N;
num[i]);
fwrite(&
num[i],sizeof(int),1,f1);
fclose(f1);
rb"
Thefirstdata:
fread(&
num[i],sizeof(int),1,f1);
while(!
feof(f1))
{printf("
%5d"
num[i]);
if(num[i]%2==1)num[i]=num[i]+1;
elsenum[i]=num[i]-1;
i++;
fclose(f1);
f2=fopen("
text2"
for(k=N;
k<
i;
k++)
num[k],sizeof(int),1,f2);
fclose(f2);
\nThelatterdata:
k,sizeof(int),1,f2);
feof(f2))
k);
}Editor'
snote:
JudsonJonesisameteorologist,journalistandphotographer.HehasfreelancedwithCNNforfouryears,coveringsevereweatherfromtornadoestotyphoons.FollowhimonTwitter:
@jnjonesjr
(CNN)--Iwillalwayswonderwhatitwasliketohuddlearoundashortwaveradioandthroughthecracklingstaticfromspacehearthefaintbeepsoftheworld'
sfirstsatellite--Sputnik.IalsomissedwatchingNeilArmstrongstepfootonthemoonandthefirstspaceshuttletakeoffforthestars.Thoseeventswerewaybeforemytime.
Asakid,Iwasfascinatedwithwhatgoesoninthesky,andwhenNASApulledtheplugontheshuttleprogramIwasheartbroken.Yettheprivatizedspaceracehasrenewedmychildhooddreamstoreachforthestars.
Asameteorologist,I'
vestillseenmanyimportantweatherandspaceevents,butrightnow,ifyouweresittingnexttome,you'
dhearmyfoottappingrapidlyundermydesk.I'
manxiousforthenextone:
aspacecapsulehangingfromacraneintheNewMexicodesert.
It
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 能力 强化 报告