这两周主要学习了循环结构。包括三种比较基本的循环,while、do-while、for,再通过一些嵌套,解决一些更为复杂的数学问题,需要对于循环条件有更清晰的认识与把控;同时学习通过引入一些中间变量,如flag来控制输出;再者还学习了break&continue两种特殊的语句,便于控制循环。总的来讲学习的内容需要更灵活地运用到题目的计算当中。但是也出现了不少的问题,如对于变量的初始化的不注意,可能会导致错误答案的输出或者死循环。因此在进入循环结构之后,更需要养成手动调试程序判断程序错误的好习惯。除了最基本的调试方式,还学习了printf的调试方式,通过一次性地输出循环的全部答案,便于找出循环量较大时的问题所在。在本周尝试更正自己的做题步骤,先分析题目,通过伪代码来缕清思路,写出基本的代码框架,再逐步进行调试。因为代码量较上周更多,更复杂,就需要通过注释的形式,增强阅读性。本周的刷题速度较慢,正确率较低,望下周能扎实基础,复习巩固
总分:290
猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。
定义 num被猜数,guessNumber猜数,i可猜的次数,n已猜的次数,flag控制循环
输入 num被猜数,guessNumber猜数
do
{
输入guessNumber
if guessNumber<0 输出游戏结束
else if guessNumber==num
{
flag=1
if(n==1)输出Bingo!\n
else if(n==2||n==3)输出Lucky you!\n
else 输出 Good Guess!\n
}
else if guessNumber>num&&flag==0&&i<n未猜中
输出Too big!\n
else
if n<=i&&flag==0偏小 输出Too small!\n
if n>i&&flag==0 //超出次数 未猜中 输出游戏结束
} while(guessNumbe>=0);
end while
你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it‘s算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。
定义 length=0单词长度,blank=0有无空格(区分第一个单词和后面单词的区别)exsit=0存在单词,用于输‘.‘前的最后一个单词长度,flag=0计入非空格字符,ch字符
while ch!=‘.‘//输入句号前的所有字符
if ch!=‘ ‘ length++,exsit=1,flag=1//开始计数过滤空格
if flag==1&&ch==‘ ‘
if blank==0 输出长度 blank=1//自此后的数字前面要输出空格
else 输出 长度 length=flag=0
end if
ch=getchar()//循环输入
end while
if exsit==1&&length!=0 输出 长度 //单独判断最后一个单词
定义 time时间,rabbit兔子跑过的路程,tortoise乌龟跑过的路程,i经过的时间,rest休息时间,run跑步时间
输入 time时间,定义rest=0,run=10
for i=0;i<time;i++ 每分钟循环一次
tortoise+=3;乌龟 一直跑 3m/min
if run==0;run=10;
if rabbit>tortoise rest=30//跑10分钟做一次比较,判断是否休息
if rest==0//非休息时间
rabbit+=9;run--;end if// 兔子跑 跑步时间减少
if rest>0 rest--;
end for
if(rabbit<tortoise)
printf("@_@ %d",tortoise);
else if(rabbit>tortoise)
printf("^_^ %d",rabbit);
else printf("-_- %d",rabbit);
end if
同学代码截图via.范华
自己的代码截图
原文:https://www.cnblogs.com/salcious/p/9866094.html