博客园第二次作业
7-1猜数游戏
#include <stdio.h>
int main()
{ int r,N,x,n=0;
scanf("%d %d",&r,&N);
while(1){
scanf("%d",&x);
if(x<0){
n--;
break;
}
n++;
if(x>r)printf("Too big\n");
else if(x<r)printf("Too small\n");
else break;
}
if(n<0||n>N)printf("Game Over");
else if(n==1)printf("Bingo!");
else if(n<=3)printf("Lucky You!");
else if(n<=N)printf("Good Guess!");
return 0;
}
第一步:编译预处理命令,定义主函数。
第二步:定义两个变量,x,n,两个常量r,N,(x是随机产生的被猜数,n为猜的次数,r为被猜数与之相比较的一个不大于100的常量,N为猜测的最大次数)
第三步:用户输入了一个负数,也输出“Game Over”,先满足这个条件,x<0时,直接结束。
第四步:如果x>r,则输出太大,如果<r,则输出太小。否则结束程序。如果n<0和n>N,则直接输出游戏结束;如果n=1则数出bingo;如果n<=3,输出lucky you;如果n<=最大次数N,则输出game over.
问题:在输入的时候分号出现问题,
解决办法:改变输入方式,重新输入。
7-3寻找250
#include<stdio.h> int main() { int n,c=0; do{ scanf("%d",&n); c++; if(n==250) break; } while(n>=-1000&&n<=1000); printf("%d",c); return 0; }
第一步:编译预处理命令,定义主函数。
第二步:敌营两个主函数n(在过程中所猜的数值),c(得到250的次数)。
第三步:用do-while语句
存在的问题:题目要求从1开始,但在编译过程中令c=1,导致结果不是从1开始
解决问题:int n,c=0;其他的不变。
学习进度:已经学完循环结构,主要有while语句还有do-while语句,素数的判断,阶乘的求法,break和continue语句
遇到的问题:在while语句和do-while语句之间穿在认识上的偏差,解决方法:通过看书解决了问题,while语句和for语句类似,都是先判断循环条件,再执行循环体,而do-while语句是先执行循环体,后判断循环语句.