为了练习使用do..while和while,特地使用此实例,一个简单的猜数游戏对while循环进行的练习使用。所有的东西都在注释当中:
#include <stdio.h>
#include <conio.h>
/**********************************
* 该实例用于实现一个简单的猜数字的游戏
* 主要用于练习使用while循环
* 开始的时候需要用户输入游戏密码(1234)
* 如果用户输入错误
* 则提示用户重新输入
* 如果三次输入错误,则提示用户退出程序
***********************************/
int main(void)
{
int passwd = 0,Number = 0,price = 58,i = 0;
printf("\n====This is a Number Guess Game!====\n"); //提示信息
while(passwd != 1234){
if(i >= 3) /*如果输入错误次数大于3就退出*/
{
printf("\n Please input the right password!\n");
return;
}
i++;
puts("Please input Password: ");
scanf("%d",&passwd); /*要求输入密码*/
}
i = 0;
while(Number != price){
do{
puts("Please input a number between 1 and 100: ");
scanf("%d",&Number);
printf("Your input number is %d\n",Number);
}while(!(Number >= 1 && Number <= 100));
if(Number >= 90) /*输入大于90的情况*/
{
printf("Too Bigger!Press any key to try again!\n");
}else if(Number >= 70 && Number <= 90) /*比较大的情况*/
{
printf("Bigger!\n");
}else if(Number >= 1 && Number <= 30) /*太小的情况*/
{
printf("Too Small!Press any key to try again!\n");
}else if(Number > 30 && Number <= 50) /*比较小的情况*/
{
printf("Small!! Press any key to try again!\n");
}else{
if(Number == price)
{
printf("OK! You are right!Bye Bye!\n");
}else if(Number < price){
printf("Sorry,Only a little smaller!Press any key to try again!\n");
}else if(Number > price)
printf("Sorry,Only a little bigger!Press any key to try again!\n");
}
getch();
}
/*****************************************************
* 1:一个比较经典的面试题目
* do,while和while的区别
* 根据学习,可以知道do..while能够保证至少有一次运行。
* 2:常见的循环的应用
* 1).计数循环
* 2).输入验证循环
* 3).哨兵循环。循环程序不断的检查,读和处理数据
* 4).延时循环。循环中不实现任何功能,只是使CPU
* 等待一定时间后再继续执行,在单片机程序中比较常用
* 5).查找循环。按给定的对象进行查找
* 6).无限循环,不停的执行。在危险信号的检测中经常用到
****************************************************/
return 0;
}
我的程序的输出结果:
密码是1234奥!!
原文地址:http://blog.csdn.net/hongbochen1223/article/details/44919589