C 生成1000-9999间的随机数,输入一个四位数字,验证错误#include
#include
using namespace std;
int main() {
//思路: 在1000 - 9999 之间随机一个数字,即为所要的随机数,但是要求四位数字不相同
/*--随机生成四位数字--start*/
srand(time(NULL)); //设置随机数种子
//随机生成四个不相同的数字
//千位
int qianWei = rand() % 9 + 1;//rand() % 9最终得到的范围是(0 - 8), 然后加1,得到的范围是(1 -9),千...
#include
#include
using namespace std;
int main() {
//思路: 在1000 - 9999 之间随机一个数字,即为所要的随机数,但是要求四位数字不相同
/*--随机生成四位数字--start*/
srand(time(NULL)); //设置随机数种子
//随机生成四个不相同的数字
//千位
int qianWei = rand() % 9 + 1;//rand() % 9最终得到的范围是(0 - 8), 然后加1,得到的范围是(1 -9),千位不能为0。
// cout << "----qianwei:" << qianWei << endl;
//百位
int baiWei = -1;
//十位
int shiWei = -1;
//个位
int geWei = -1;
bool isRandomOver = false;
while(!isRandomOver) {
int random = rand() % 10;//随机范围是0 - 9
if (baiWei == -1) {//看百位有没有随机过值,没有随机一个数字给百位
if (qianWei != random) {//如果随机的数,不等于千位的,那就给百位的赋值,然后进行下一次循环,去查找十位
baiWei = random;
// cout << "----baiWei:" << random << endl;
continue;
} else {
//随机的数字等于千位的数字,那就继续循环,直到找到随机数和千位的不等了,然后给百位赋值了,就去查找十位
continue;
}
}
if (shiWei == -1) {
if (qianWei != random && baiWei != random) {//判断随机数,不等于千位,并且不等于百位
shiWei = random;
// cout << "----shiWei:" << random << endl;
continue;
} else {
continue;
}
}
if (geWei == -1) {
if (qianWei != random && baiWei != random && shiWei != random) {//判断随机数,不等于千位,并且不等于百位, 并且不等于十位
geWei = random;
cout << "----geWei:" << random << endl;
continue;
} else {
continue;
}
}
//只要剩下的三位数,都不等于-1 了就证明随机数完成了
//到此记录随机完成
isRandomOver = true;
}
int random = qianWei * 1000 + baiWei * 100 + shiWei * 10 + geWei;
cout << "------------------------------the random number is:" << random << endl;
/*--随机生成四位数字--end*/
int allTimes = 0; //输入的次数(输入的数字格式正确,但是结果错误的次数)
while(allTimes < 8) {//最多计算8次
/*--输入四位一个数字--start*/
int inputNum; //声明一个输入的数字
bool isInputRight = false; //声明一个布尔值,来判断用户输入的数字是否正确。
while((!isInputRight)) { //循环判断用户输入的数字是否正确,如果正确, 并且就停止输入
cout << "------------------------------please input a number:";
if(cin >> inputNum) {//cin >> inputNum,等待用户输入一个数字,并赋值给inputNum。并返回一个布尔值判断用户是否输入的是数字。
//输入的是数字
if (inputNum >= 1000 && inputNum <= 9999) {//判断输入的数字是否正确
cout << "------------------------------input number is valid, Your input number is:" << inputNum <
本文档为【C 生成1000-9999间的随机数,输入一个四位数字,验证错误】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。