目录
7. for 、while、dowhile运行时机(参考wps代码
1. while
2. do while
#include <iostream>
#include <iomanip>
#include <conio.h>
int main()
{
char c{};
int num{};
do {
bool is_prime = true;
std::cout << "请输入一个数:" << std::endl;
std::cin >> num;
for (int i = 2; i * i <= num; i ++ ) {
if (num % i == 0) {
is_prime = false;
break;
}
}
if (is_prime) printf("%d 是一个质数\n", num);
else printf("%d 不是一个质数\n", num);
std::cout << "按Y计算下一个数字" << std::endl;
std::cin >> c;
} while (c == 'Y' || c == 'y');
return 0;
}
3. while循环之网银证书密码
#include <iostream>
#include <iomanip>
#include <conio.h>
int main()
{
/*int password{0}, repassword{1};
int attackword{};
while (password != repassword)
{
system("cls");
std::cout << "请输入密码:" << std::endl;
std::cin >> password;
std::cout << "请再次输入密码:" << std::endl;
std::cin >> repassword;
}
std::cout << "进入破解系统" << std::endl;
while (attackword != password) attackword++;
std::cout << "密码破解成功!你的密码是: " << attackword << std::endl;*/
int password, repassword;
int attackword{-1};
do {
system("cls");
std::cout << "请输入密码:" << std::endl;
std::cin >> password;
std::cout << "请再次输入密码:" << std::endl;
std::cin >> repassword;
} while (password != repassword);
std::cout << "进入破解系统" << std::endl;
do attackword++; while (attackword != password);
std::cout << "密码破解成功!你的密码是: " << attackword << std::endl;
return 0;
}
4. wps功能路由器
#include <iostream>
int main()
{
int password{ 98620154 };
int crackpass{};
//goto
lcrack:
if (password != crackpass) {
crackpass++;
goto lcrack;
}
std::cout << "路由器PIN码:" << crackpass;
//for
for (crackpass = 0; crackpass < 100000000; crackpass++) {
if (crackpass == password) break;
}
std::cout << "\n路由器PIN码:" << crackpass;
//for 优化
for (crackpass = 0; crackpass != password; crackpass++);
std::cout << "\n路由器PIN码:" << crackpass;
//while
crackpass = 0;
while (crackpass != password) crackpass++;
std::cout << "\n路由器PIN码:" << crackpass;
//do while
crackpass = -1;
do {
crackpass++;
} while (crackpass != password);
std::cout << "\n路由器PIN码:" << crackpass;
return 0;
}
5. 水仙花
#include <iostream>
int main()
{
int u{}, d{}, h{};
for (int i = 100; i < 1000; i++) {
u = i % 10;
d = (i / 10) % 10;
h = i / 100;
if (u * u * u + d * d * d + h * h * h == i)
std::cout << i << std::endl;
}
return 0;
}
6. 完数
#include <iostream>
int main()
{
for (int num = 4; num < 1000; num++) {
int sum{};
for (int a = 1; a < num; a++) {
if ((num % a) == 0)
sum += a;
}
if (sum == num) std::cout << num << std::endl;
}
// std::cout << sum << std::endl;
return 0;
}
7. for 、while、dowhile运行时机(参考wps代码
8. 必杀技游戏
#include <iostream>
int main()
{
int mp{1383}, lsmp{mp};
int damege{}, needmp{};
do {
damege += 100;
mp -= needmp;
needmp += 50;
std::cout << "\n造成伤害" << damege << "剩余MP" << mp;
} while (mp >= needmp);
mp = lsmp;
return 0;
}