首页 技术 正文
技术 2022年11月10日
0 收藏 997 点赞 4,080 浏览 1795 个字

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 ;
}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,489
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,904
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,737
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,490
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,128
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,290