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 ...
随机推荐
- gatewayworker开发单聊应用解决的问题
绑定唯一id时,遇到的信息发送同步问题 问题:A-B A-C A发送信息给B和C时 A绑定了唯一id 若B.C发送信息给A则A处会同时手到来自于BC的信息 用解绑和生成新的client_id无法避 ...
- 二级导航 js
$(function(){ $(".classify dl dd").mouseover(function(){ $(this).addClass("on"); ...
- xpath定位动态iframe
使用xpath定位 driver.switch_to.frame(driver.find_element_by_xpath("//iframe[starts-with(@id, 'x-URS ...
- 树链剖分——NOI2015
8说了上代码 给定一棵树,两种操作 a x:x->root路径上的点权值置1 b x: 把x的子树所有结点权值置0 树上的区间更新操作,显然是要维护dfs 第一个操作暴力显然是t,用树剖把复杂度 ...
- centos搭建git服务
一.服务器yum -y install git git init --bare test.gitcd test.gitpwd //打印当前目录,假设是:/home/root/git/test.gitg ...
- Python用可变参数找出最大值和最小值
# 方法一 利用max min 函数. 注意这里max min 分别都是功能函数 def main_m(*args): i = max(args) j = min(args) print(" ...
- javascript封装函数入门
封装函数的入门 一.使用函数有两步: 1.定义函数,又叫声明函数, 封装函数. 定义函数的三个要素:功能,参数,返回值. function 函数名(形参){ 函数代码 return 结果} //2.调 ...
- OpenCV-Python-边缘检测
Canny边缘检测方法被誉为边缘检测的最优方法. import cv2 import numpy as np img = cv2.imread('handwriting.jpg', 0) edges ...
- ***远程连接MYSQL提示1130 - Host is not allowed to connect to this MySQL server
如果你想连接你的mysql的时候发生这个错误: ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL serve ...
- Linux服务器常用工具
一.Ubuntu18版本 服务器 1)替换源.将原有的源注释掉 vi /etc/apt/sources.list deb http://mirrors.aliyun.com/ubuntu/ bioni ...