贵州理工学院实验报告新1Word下载.docx
- 文档编号:22416064
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:17
- 大小:211.34KB
贵州理工学院实验报告新1Word下载.docx
《贵州理工学院实验报告新1Word下载.docx》由会员分享,可在线阅读,更多相关《贵州理工学院实验报告新1Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
inti,sum=0;
i=1;
while(i<
=100)
{sum+=i;
i=i+2;
}
printf("
%d\n"
sum);
调试结果:
程序代码2do-while语句:
do
+100);
程序代码3for语句:
voidmain()
{
for(i=1;
i<
=100;
i+=2)
sum+=i;
%d"
三种循环语句的相同点:
三种循环语句均可以实现相应的功能;
区别:
while循环先判断表达式,后执行循环体。
循环体有可能一次也不执行。
do-while循环先执行循环体,然后判断表达式,循环体至少执行一次。
for循环先判断表达式,后执行循环体。
for语句是C语言中最为灵活,使用最广泛的循环语句,可完全替代while,do-while语句。
题目2:
求5!
(提示:
循环结构编写程序)
程序代码:
inti,sum=1;
=5;
i++)
sum=sum*i;
题目3:
求和s=1!
+3!
+5!
(提示:
#include<
inti,a,s=0,f=1;
{for(a=1;
a<
=i;
a++)
{f=f*a;
}
s=s+f;
f=1;
s);
题目四:
求和s=3+33+333(提示:
inta,b,s;
for(a=3,b=0,s=0;
b<
3;
b++)
{s=s+a;
a=a*10+3;
printf("
题目五:
有一数列:
2/1,3/2,5/3,8/5,…,求出这个数列的前10项之和。
doublea,b,c,d,s=0;
a=1;
b=2;
for(c=1;
c<
=10;
c++)
{s=s+b/a;
d=b;
b=a+b;
a=d;
}
printf("
%f\n"
题目六:
打印400以内的“水仙花数”。
“水仙花数”是一个三位数,其各位数立方和等于该数本身。
例如:
153是一个“水仙花数”,因为153=13+53+33。
编程思路为:
通过循环确保读入一个三位数,随后拆开并计算它的各位数字的立方和,从而确定是否是“水仙花数”。
{inta,b=0,c=0,d=0;
for(a=100;
=400;
{b=a/100;
c=a%10;
d=a/10-b*10;
if(a==b*b*b+c*c*c+d*d*d)
{printf("
%d"
a);
题目七:
一个数如果恰好等于它的因子之和,这个数就称为完数。
求200之内的所有完数。
例如6的因子分别是1、2、3、6,因6=1+2+3,则6是完数。
main()
{inta,b,c,d;
for(b=1;
=200;
{
for(c=1;
b;
a=b%c;
if(a==0)
{d+=c;
if(b==d)
{printf("
d);
d=0;
题目八:
一球从200m高度自由落下,每次落地后反向跳回原高度的一半,再落下,求它在第12次落地时,共经过多少m?
第12次反弹多高?
doublea,b=200,c,d=0;
for(a=1;
=12;
{b=b/2;
c=2*b;
d=d+c;
b);
d+200);
题目九:
国王的许诺
相传国际象棋是古印度舍罕王的宰相达依尔发明的,舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。
这位聪明的宰相指着8*8共64格的象棋说:
“陛下,请您赏赐我一些麦子吧,就在这棋盘的第一个格式中放1粒,第二个格式中放2粒,第3格子中放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上的64个格式,我就感激不尽了。
”舍罕王让人扛来一袋麦子,他要兑现他的许诺。
请问:
国王能兑现他的许诺吗?
编程计算舍罕王共需要多少麦子赏赐他的宰相,这些麦子相当于多少立方米(已知1m3麦子约1.42e8粒)?
(参考答案:
不能,1.84467440737096E+19,1.29907e+011)
提示:
两种方法,一种是通过寻找前项与后项之间的关系;
另一种是寻找一个通式来表示累加项。
doublea,b=1,c=1;
=64;
{b=b*2;
c=b+c;
c=c/1.42e8;
c);
题目十:
小学生计算机辅助教学系统
编写一个程序,帮助小学生学习乘法。
然后判断学生输入的答案对错与否,按下列任务要求以循序渐进的方式分别编写对应的程序并调试。
循环嵌套,随机数用rand()来实现,具体参考书上P300页)
任务1程序首先随机产生两个1—10之间的正整数,在屏幕上打印出问题。
6*7=?
然后输入答案,如果输入答案正确,则显示“Right!
”,然后问下一个问题;
否则显示“Wrong!
Pleasetryagain.”,然后提示学生重做,直到答对为止。
任务2在任务1的基础之上,当学生回答错误时,最多给三次重做,三次仍未做对,则显示“Wrong!
Youhavetriedthreetimes!
Testover!
”,程序结束。
任务3在任务1的基础上,连续做10道乘法运算题,不给机会重做,若学生回答正确,则显示“Right!
”,否则显示“Wrong!
”。
10道题全部做完后,按每题10分统计并输出总分,并输出学生的回答正确率。
任务4在任务2的基础上,为了提高程序的可读性,完善人机对话界面,从而达到来吸引学生的注意力,故要为学生输入的每一个正确或错误的答案输出不同的评价,正确的答案评价分为四个等级:
“Verygood!
”、“Excellent!
”、“Nicework!
”、“Keepupthegoodwork!
”,错误的答案评价分为三个等级:
“No.Pleasetryagain.”、“Wrong.Tryoncemore.”,“Don'
tgiveup!
任务一:
stdlib.h>
time.h>
{inti,n,a,b,c,d;
while
(1){
srand((unsigned)time(0));
for(i=0;
2;
{a=rand()%10+1;
if(i==0)
{b=a;
else
{c=a;
a=b*c;
for(n=0;
n==0;
)
请输入你的答案%d*%d=?
\n"
c,b);
scanf("
&
d);
if(d==a)
right\n"
);
break;
tryangin\n"
}}}
任务二:
inti,a,b,c,d,e;
while
(1)
a=rand()%10+1;
if(i==0)
{b=a;
else
{c=a;
continue;
Wrong!
for(e=0;
e<
e++)
scanf("
if(d==a)
{printf("
right"
break;
elseif(e==2)
{return0;
任务三:
{inti,j,a,b,c,d,sum=0;
for(j=0;
j<
10;
j++)
{for(i=0;
sum+=10;
你的得分为%d\n"
正确率%d%%"
任务四:
inti,a,b,c,d,e,f,j;
e=rand()%4+1;
switch(e)
case1:
Verygood!
case2:
Excellent!
case3:
Nicework!
case4:
Keepupthegoodwork!
{f=rand()%3+1;
elseif(j==2)
{return0;
switch(f)
No.Pleasetryagain.\n"
Wrong.Tryoncemore.\n"
Don'
思考题题目五:
构成循环结构的语句有哪些?
构成循环结构的语句有:
whiledo-whilefor。
实验总结
1.通过本次实验,让我们更加了解循环结构的魅力。
更加深刻感受到c语言的意义
2.经过我们的努力我们在这次实验中有不少收获,经过自己的努力,熟悉掌握用while语句,do-while语句,for语句实现循环的方法。
3.通过本次实验我们掌握了在程序中用循环的方式解决一些数学问题等;
而且也大大提高了我们的操作能力。
4.在本次实验中同时让我们明白,对于操作性语言来说最重要的还是我们自己的动手实践,这样才能找到自己的问题,通过不停的错误调试,最后得到最终的结果,我希望在我们共同的努力下能够有一定的收获。
5.我知道学习的过程是漫长的,但是我们还是会全力以赴,尽自己最大的努力去认真学习。
6.当然通过本次实验,也看到了自己的不足,比如,对于程序的不熟悉,经常忘记小细节。
希望在以后的学习中可以改掉这些不足。
7.课前预习,也是完成本次实验的一个关键,只有我们课前预习了,上课时才知道自己不懂的地方,然后在课堂上解决,最主要的还是我们整个小组共同的努力。
指导教师意见
签名:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 贵州 理工学院 实验 报告