C语言复习4_while循环
1、while循环
循环三要素:
1)、循环变量的初值
2)、循环变量的判断
3)、循环变量的更新
#include <stdio.h>
#include <stdlib.h> int main()
{
int i = ;
while(i<=)
{
printf("第%d遍\n",i);
i++;
}
return ;
}
小练习1:使用循环计算1-100的累加和
#include <stdio.h>
#include <stdlib.h> int main()
{
int i = ;
int sum = ;
while(i<=)
{
sum += i;
i++;
}
printf("%d\n",sum);
return ;
}
小练习2:使用循环实现三次密码输入错误退出系统
#include <stdio.h>
#include <stdlib.h> int main()
{
int i = ; //循环变量
int password; //密码
while(i<)
{
printf("请输入密码:");
scanf("%d",&password);
if(password!=)
{
printf("密码输入错误,当前输入第%d次密码!\n",i+);
}
else if(password==)
{
printf("密码输入成功!\n");
break;
}
if(i==)
{
printf("密码输错三次,系统强制退出!\n");
exit();
}
i++;
} return ;
}
这里有几个要注意的地方:
1)、加入了当密码输入正确就退出的判断机制;
2)、if...else if....else if...else...这种结构,一旦里面有一个符合条件,就不会继续下面的判断了,所以在
判断i是否到2这里,用的是if,而不是else if,因为第三次密码输入错误的时候,已经在第一个if里判断过了,就不会在下面的else if里
继续判断了
小练习3:某宝双十一2015年的交易额为800亿,每年递增25%,问按此速度哪年交易额达到2000亿?
#include <stdio.h>
#include <stdlib.h> int main()
{
double initSum = ; //2015年的交易额
double increase = 0.25; //递增率
int initYear = ; //初始年份
while()
{
initSum *= 1.25;
if(initSum>=)
{
printf("第%d年交易额达到2000亿,此年交易额为%lf\n",initYear+,initSum);
break;
}
initYear++;
} return ;
}
小练习4:使用循环模拟实现玩家对战
双方初始HP均为100;
每次攻击5-15;
HP最先到零或以下的被KO
#include <stdio.h>
#include <stdlib.h> //标准库
#include <time.h> //time方法
#include <windows.h> //Sleep
int main()
{
srand(time(NULL));
//rand()函数的取值范围是0-32767
printf("随机种子:%d\n",rand());
int hp1 = ,hp2=; //1p和2p的初始血量
int att1,att2;//1p和2p每次的攻击
int i = ;//对战的轮数
while(hp1>= && hp2>=)//当两个玩家都活着的时候,才能进行对战
{
//默认1p首先攻击
att1 = rand() % +;
att2 = rand() % +;
//玩家1攻击,玩家2掉血
hp2 -= att1;
//玩家2攻击,玩家1掉血
hp1 -= att2;
if(hp1<= && hp2>=)
{
printf("玩家2胜利\n");
break;
}
else if(hp1>= && hp2<=)
{
printf("玩家1胜利\n");
break;
}
printf("************************************\n");
printf("第%d轮:\n",i);
printf("玩家1攻击力:%d,玩家2剩余血量:%d\n",att1,hp2);
printf("玩家2攻击力:%d,玩家1剩余血量:%d\n",att2,hp1);
printf("************************************\n");
i++;
Sleep();//休眠500ms
}
printf("游戏结束,玩家1的血量:%d\t玩家2的血量:%d\n",hp1,hp2);
return ;
}
C语言复习4_while循环的更多相关文章
- C语言复习6_doWhile循环
基本语法 do{ 循环操作 }while(循环条件); 特点:先执行,再判断 先执行一遍循环操作 符合条件,循环继续执行 否则循环退出 例题: #include <stdio.h> #in ...
- C语言复习-字符串与指针
C语言复习-字符串与指针 例一: [字符串处理 去除C代码中的注释] C/C++代码中有两种注释,/* */和//.编译器编译预处理时会先移除注释.就是把/*和*/之间的部分去掉,把//以及之后的部分 ...
- C#5 复习总结循环 迭代和穷举
一.章节复习: 循环.反复执行某段语句一种语法形式. 1.基本语法: for( 初始条件 ; 循环条件 ; 状态的改变 ) { 循环体 } 循环的四要素. 循环的执行过程.初始条件--循环条件--循环 ...
- C语言-for循环
for循环是C语言中的循环语句之一,它的一般形式为for(初值,条件表达式,步长){语句};初值通常是一个赋值语句, 它用来给循环控制变量赋初值: 条件表达式是一个关系表达式, 它决定什么时候退出循环 ...
- C语言复习---零散补充
一:double和float使用scanf获取数据 printf输出float和double都可以用%f,double还可以用%lf. 2 scanf输入float用%f,double输入用%lf,不 ...
- C语言复习20170728
C语言复习20170728 键盘输入和屏幕输出 字符常量:把字符放在一对单引号内,适用于多数可打印字符. 转义字符: 以反斜线()开头,也是放在一对单引号内,适用于控制字符. .\t,是水平制表符,相 ...
- C语言复习20170716
C语言复习20170716 C数据类型 图片来自:C语言基本数据类型简介 C语言程序处理的数据有常量和变量两种形式. 常量是在程序中不能改变其值的量.例如:整型常量.实型常量.字符常量.字符串常量和枚 ...
- C语言复习系列-转义字符
C语言复习系列-转义字符 准备学习stm32单片机,感觉需要复习一下C语言,翻看了菜鸟教程,竟然有不少地方看不懂,真让人汗颜······ 转义字符大部分语言里面都有,至少我学过的里面都有,在这些语言中 ...
- 怎么绘制C语言选择和循环语句的思维导图
C语言是一门非常基础的计算机语言,是大部分本科学生的公共专业,在C语言的学习中,选择和循环语句是至关重要的部分,利用思维导图可以有效节约时间并加深知识点记忆. 接下来就为大家介绍一下我用iMindMa ...
随机推荐
- SQLAlchemy使用(三)搭配Flask框架使用
前言 本章应该是SQLAlchemy使用系列的最后一篇了,本章简单讲一下如何搭配Flask使用.下一篇应该是写Flask_restful相关内容了 正文 我们简单使用前两章的model,两张表 # - ...
- neo4j-cypher
cypher查询务必在需要查询的节点上加上标签,否则数据量一大查询就会非常慢(在查询时必须设置实体标签,否则不走索引),另外Neo4j索引做好了查询的优化基本上就完成了80%.需要注意index是建立 ...
- mathJax基础语法-0基础开始,(这是网上抄来的如果有权限和版权问题联系本人处理,仅供学术参考)
- MapReduce流量统计
准备数据access.log 要用到的只有第二个手机号,倒数第三上行流量,倒数第二下行流量. 1363157985066 13726230503 00-FD-07-A4-72-B8:CMCC 120. ...
- eclipse中alt+/失效的几种解决方法
1.次方法用于没有一点提示的情况:依次打开eclipse上面的windows ——preferences ——java ——editor —— content assist ,在右上方有一行“sele ...
- css选择器+、~、>
在css中,选择器是一种模式,用于选择需要添加样式的元素.它有多种选择器,我们看一下比较常见,但容易混淆的三个选择器+.~.> A + B(相邻兄弟选择器) 定义:css2. 匹配B元素,满足条 ...
- nginx 常用命令
-?,-h : this help -v : show version and exit -V : show version and c ...
- 利用阿里云搭建frp实现外网远程桌面链接内网电脑
主要应用场景:针对学生放假回家使用外网无法远程操作学校的服务器或者电脑,这里通过阿里云的云服务器搭建一个frp服务,实现内网穿透,从而可以直接通过远程桌面或者其他工具实现对校园网内的服务器或者电脑进行 ...
- 记一次完整的asp.net-mvc页面优化过程
最近在重构一个以前团队开发留下的MVC项目,项目结构堪称混乱,问题多多,但今天说的是页面打开速度的问题.项目中包括web后台系统,几乎随便点一个页面都要盯着白屏等待2-5秒之久,体验很差.通过对页面性 ...
- 一种DTO的规划方案
现在以网页发布的软件非常普遍,叫BS模式.前后端分离也是大趋势,或者说逐渐普及开来,深受前后端程序员的喜爱,我还是习惯以程序员来泛称所有软件制作者.后端需要把数据传送给前端,往往是通过DTO的序列化来 ...