- C++
信奥寒假集训下午班 d2 总结&作业
- 2024-1-27 17:19:31 @
二进制的优点
1、技术实现简单 计算机是由逻辑电路组成,逻辑电路通常只有两个状态,开关的接通与断开,这 两种状态正好可以用“1”和“0”表示。
2、易于进行转换 二进制与十进制数、八进制数、十六进制数易于互相转换。
3、简化运算规则 : 两个二进制数和、积运算组合各有三种,运算规则简单,有利于简化计算机内部结构,提高运算速度。
4适合逻辑运算 二进制只有两个数码,正好与逻辑代数中的“真”和 “假”相吻合。
位运算: C++ 中的位运算允许你对整数类型的变量进行按位操作,如按位与(&)、按位或(|)、按位异或(^)、按位取反(~)等。这些操作符可以直接应用于整数,且不依赖于任何其他类型。
下面是位运算符的一些示例和说明:
- **按位与(&)**: 对两个整数的每一位进行与运算。只有当两个相应的二进制位都为1时,结果的相应位才为1,否则为0。
int a = 60; // 60 = 0010 1100
int b = 13; // 13 = 0000 1101
int c = a & b; // c = 0000 1000 = 8
- **按位或(|)**: 对两个整数的每一位进行或运算。当两个相应的二进制位中至少有一个为1时,结果的相应位为1,否则为0。
int a = 60; // 60 = 0010 1100
int b = 13; // 13 = 0000 1101
int c = a | b; // c = 0010 1101 = 61
- **按位异或(^)**: 对两个整数的每一位进行异或运算。当两个相应的二进制位相同时为0,否则为1。
int a = 60; // 60 = 0010 1100
int b = 13; // 13 = 0000 1101
int c = a ^ b; // c = 0010 0001 = 49
- **按位取反(~)**: 对一个整数的每一位进行取反运算,即把所有的1变为0,把所有的0变为1。
int a = ~65; // a = -66, 因为65的二进制表示是"1000 0001",取反后为"..1111 1110",即-66。
- **左移(<<)**: 将一个整数的所有二进制位向左移动指定的位数,右侧用0填充。
- **有符号右移(>>)**: 将一个整数的所有二进制位向右移动指定的位数,左侧根据符号位来填充。对于正数,左侧填充为0;对于负数,左侧填充为1。
基础版-猜数字小游戏
#include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
int main()
{
int answer;
int chance=5;
int input_num;
srand((unsigned)time(0));
answer=rand()%100+1;
cout<<"Please enter a number between 1 and 100"<<endl;
for(int i=0;i<chance;i++)
{
cin>>input_num;
if(input_num>answer)
{
cout<<"too big "<<endl;
}else if(input_num<answer)
{
cout<<"too small"<<endl;
}else{
cout<<"bingo"<<endl;
break;
}
}
return 0;
}
作业:
1、完成定制版猜数字小游戏
2、计算至少猜多少次一定能猜到随机数字。
3、实现猜心术代码。想一想为什么可以猜到?
#include<iostream>
#include<cstdlib>//导入常用函数文件
#include<ctime>//导入时间功能头文件
using namespace std;
int main()
{
char other;
srand(time(0));
char answer=rand()%13+35;
for(int i=0;i<=99;i++)
{
printf("%2d ",i);
if(i%9==0 && i<90 && i>0)
{
cout<<answer;
}else{
other=rand()%13+35;
cout<<other;
}
cout<<" ";
if((i+1)%5==0)
{
cout<<"\n";
}
}
return 0;
}
8 条评论
-
mrhowe SU @ 2024-1-28 14:06:55
-
2024-1-28 13:54:32@
#include<iostream> #include<ctime> #include<cstdlib> using namespace std; int main() { int flag =1; while(flag){ int nandu=1; cout<<"欢迎来到猜数字峡谷!!!"<<endl; cout<<"本游戏会随机生成一个1-100的数字,"<<endl; cout<<"你可以进行猜测,会提示你是猜大了还是猜小了。"<<endl; cout<<"请选择难度:"<<endl; cout<<"1:青铜(20次)"<<endl; cout<<"2:白银(7次)"<<endl; cout<<"3:黄金(6次)"<<endl; cout<<"4:钻石(5次)"<<endl; cout<<"5:王者(3次)"<<endl; cout<<"请输入(1-5):"<<endl; cin>>nandu; int answer,i; int chance; switch (nandu) { case 1: chance =20; break; case 2: chance =7; break; case 3: chance =6; break; case 4: chance =5; break; case 5: chance =3; break; default: break; } int input_num; srand((unsigned)time(0)); answer=rand()%100+1; cout<<"开始游戏,请输入一个数字(1-100):"<<endl; for(i=0;i<chance;i++) { cout<<"\n第"<<i<<"次猜测:"; cin>>input_num; if(input_num>answer) { cout<<"太大了 "<<endl; }else if(input_num<answer) { cout<<"太小了"<<endl; }else{ cout<<"恭喜你猜对了"<<endl; break; } } if(i==chance){ cout<<"恭喜你猜错了"<<i<<"次,游戏结束!"<<endl; } cout<<"继续游戏请按1,退出游戏请按0:"<<endl; cin>>flag; } return 0; }
-
2024-1-28 13:28:40@
#include<iostream> #include<ctime> #include<cstdlib> using namespace std; int main() { int answer; int chance=5; int input_num; srand((unsigned)time(0)); answer=rand()%100+1; cout<<"Please enter a number between 1 and 100"<<endl; for(int i=0;i<chance;i++) { cin>>input_num; if(input_num>answer) { cout<<"too big "<<endl; }else if(input_num<answer) { cout<<"too small"<<endl; }else{ cout<<"bingo"<<endl; break; } } return 0; }
-
2024-1-28 11:33:37@
#include<iostream> #include<ctime> #include<cstdlib> using namespace std; int main() { int answer; int chance=5; int input_num; srand((unsigned)time(0)); answer=rand()%100+1; cout<<"Please enter a number between 1 and 100"<<endl; for(int i=0;i<chance;i++) { cin>>input_num; if(input_num>answer) { cout<<"too big "<<endl; }else if(input_num<answer) { cout<<"too small"<<endl; }else{ cout<<"bingo"<<endl; break; } } return 0; }
-
2024-1-28 11:33:14@
#include<iostream> #include<cstdlib> #include<ctime> using namespace std; int main() { char other; srand(time(0)); char answer=rand()%13+35; for(int i=0;i<=99;i++) { printf("%2d ",i); if(i%9==0 && i<90 && i>0) { cout<<answer; }else{ other=rand()%13+35; cout<<other; } cout<<" "; if((i+1)%5==0) { cout<<"\n"; } } return 0; }
-
2024-1-28 11:32:17@
c++
#include<iostream> #include<cstdlib> #include<ctime> using namespace std; int main(){ int an=1; while(an!=0){ cout<<"请选择难度:\n1:青铜 2:白银 3:黄金 4:钻石 5:阴间 6:阳间"<<endl; int n; cin>>n; if(n==1){ int ac=5; cout<<"请输入1~10的数"<<endl; srand((unsigned)time(0)); int num=rand()%10+1; for(int i=1;i<=ac;i++){ int b; cin>>b; if(b==num){ cout<<"哈哈哈6666猜对了!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } else if(b>num){ cout<<"大了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(b<num){ cout<<"小了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(i>ac){ cout<<"猜错了.lose"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } } cin>>an; } else if(n==2){ int ac=10; cout<<"请输入1~100的数"<<endl; srand((unsigned)time(0)); int num=rand()%50+1; for(int i=1;i<=ac;i++){ int b; cin>>b; if(b==num){ cout<<"哈哈哈6666猜对了!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } else if(b>num){ cout<<"大了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(b<num){ cout<<"小了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(i>ac){ cout<<"猜错了.lose"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } } cin>>an; } else if(n==3){ int ac=5; cout<<"请输入1~100的数"<<endl; srand((unsigned)time(0)); int num=rand()%100+1; for(int i=1;i<=ac;i++){ int b; cin>>b; if(b==num){ cout<<"哈哈哈6666猜对了!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } else if(b>num){ cout<<"大了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(b<num){ cout<<"小了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(i>ac){ cout<<"猜错了.lose"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } } cin>>an; } else if(n==4){ int ac=5; cout<<"请输入1~200的数"<<endl; srand((unsigned)time(0)); int num=rand()%200+1; for(int i=1;i<=ac;i++){ int b; cin>>b; if(b==num){ cout<<"哈哈哈6666猜对了!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } else if(b>num){ cout<<"大了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(b<num){ cout<<"小了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(i>ac){ cout<<"猜错了.lose"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } } cin>>an; } else if(n==5){ int ac=1; cout<<"请输入1~1000的数"<<endl; cout<<"你只有1次机会"<<endl; srand((unsigned)time(0)); int num=rand()%1000+1; for(int i=1;i<ac;i++){ int b; cin>>b; if(b==num){ cout<<"哈哈哈6666猜对了!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } else if(b>num){ cout<<"大了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(b<num){ cout<<"小了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(i<=ac){ cout<<"猜错了.lose"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } } cin>>an; } else if(n==6){ int ac=100; cout<<"请输入1~100的数"<<endl; srand((unsigned)time(0)); int num=rand()%100+1; for(int i=1;i<=ac;i++){ int b; cin>>b; if(b==num){ cout<<"哈哈哈6666猜对了!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } else if(b>num){ cout<<"大了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(b<num){ cout<<"小了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(i>ac){ cout<<"猜错了.lose"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } } cin>>an; } } }
-
2024-1-28 9:11:33@
#include<cstdlib> #include<ctime> using namespace std; int main(){ int an=1; while(an!=0){ cout<<"请选择难度:\n1:青铜 2:白银 3:黄金 4:钻石 5:王者"<<endl; int n; cin>>n; if(n==1){ int ac=5; cout<<"目前你有5条命!!!"; cout<<"请输入1~100的数"<<endl; srand((unsigned)time(0)); int num=rand()%100+1; for(int i=1;i<=ac;i++){ int b; cin>>b; if(b==num){ cout<<"哈哈哈6666猜对了!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } else if(b>num){ cout<<"大了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(b<num){ cout<<"小了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(i>ac){ cout<<"猜错了.lose"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } } cin>>an; } else if(n==2){ int ac=4; cout<<"目前你有4条命!!!"; cout<<"请输入1~100的数"<<endl; srand((unsigned)time(0)); int num=rand()%100+1; for(int i=1;i<=ac;i++){ int b; cin>>b; if(b==num){ cout<<"哈哈哈6666猜对了!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } else if(b>num){ cout<<"大了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(b<num){ cout<<"小了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(i>ac){ cout<<"菜,就多练,输不起,就别玩,以前是以前,现在是现在!!!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } } cin>>an; } else if(n==3){ int ac=3; cout<<"目前你有3条命!!!"; cout<<"请输入1~100的数"<<endl; srand((unsigned)time(0)); int num=rand()%100+1; for(int i=1;i<=ac;i++){ int b; cin>>b; if(b==num){ cout<<"哈哈哈6666猜对了!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } else if(b>num){ cout<<"大了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(b<num){ cout<<"小了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(i>ac){ cout<<"菜,就多练,输不起,就别玩,以前是以前,现在是现在!!!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } } cin>>an; } else if(n==4){ int ac=2; cout<<"目前你有2条命!!!"; cout<<"请输入1~100的数"<<endl; srand((unsigned)time(0)); int num=rand()%200+1; for(int i=1;i<=ac;i++){ int b; cin>>b; if(b==num){ cout<<"哈哈哈6666猜对了!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } else if(b>num){ cout<<"大了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(b<num){ cout<<"小了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(i>ac){ cout<<"菜,就多练,输不起,就别玩,以前是以前,现在是现在!!!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } } cin>>an; } else if(n==5){ int ac=1; cout<<"目前你有1条命!!!"; cout<<"请输入1~100的数"<<endl; cout<<"你只有1次机会"<<endl; srand((unsigned)time(0)); int num=rand()%100+1; for(int i=1;i<ac;i++){ int b; cin>>b; if(b==num){ cout<<"哈哈哈6666猜对了!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } else if(b>num){ cout<<"大了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(b<num){ cout<<"小了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(i<=ac){ cout<<"菜,就多练,输不起,就别玩,以前是以前,现在是现在!!!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } } cin>>an; } } return 0; } `
-
2024-1-27 18:24:07@
第一题
#include<iostream> #include<cstdlib> #include<ctime> using namespace std; int main(){ int an=1; while(an){ cout<<"请选择难度:\n1:青铜 2:白银 3:黄金 4:钻石 5:阴间 6:阳间"<<endl; int n; cin>>n; if(n==1){ int ac=5; cout<<"请输入1~10的数"<<endl; srand((unsigned)time(0)); int num=rand()%10+1; for(int i=1;i<=ac;i++){ int b; cin>>b; if(b==num){ cout<<"哈哈哈6666猜对了!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } else if(b>num){ cout<<"大了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(b<num){ cout<<"小了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(i>ac){ cout<<"猜错了.lose"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } } cin>>an; } else if(n==2){ int ac=10; cout<<"请输入1~100的数"<<endl; srand((unsigned)time(0)); int num=rand()%50+1; for(int i=1;i<=ac;i++){ int b; cin>>b; if(b==num){ cout<<"哈哈哈6666猜对了!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } else if(b>num){ cout<<"大了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(b<num){ cout<<"小了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(i>ac){ cout<<"猜错了.lose"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } } cin>>an; } else if(n==3){ int ac=5; cout<<"请输入1~100的数"<<endl; srand((unsigned)time(0)); int num=rand()%100+1; for(int i=1;i<=ac;i++){ int b; cin>>b; if(b==num){ cout<<"哈哈哈6666猜对了!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } else if(b>num){ cout<<"大了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(b<num){ cout<<"小了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(i>ac){ cout<<"猜错了.lose"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } } cin>>an; } else if(n==4){ int ac=5; cout<<"请输入1~200的数"<<endl; srand((unsigned)time(0)); int num=rand()%200+1; for(int i=1;i<=ac;i++){ int b; cin>>b; if(b==num){ cout<<"哈哈哈6666猜对了!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } else if(b>num){ cout<<"大了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(b<num){ cout<<"小了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(i>ac){ cout<<"猜错了.lose"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } } cin>>an; } else if(n==5){ int ac=1; cout<<"请输入1~1000的数"<<endl; cout<<"你只有1次机会"<<endl; srand((unsigned)time(0)); int num=rand()%1000+1; for(int i=1;i<ac;i++){ int b; cin>>b; if(b==num){ cout<<"哈哈哈6666猜对了!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } else if(b>num){ cout<<"大了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(b<num){ cout<<"小了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(i<=ac){ cout<<"猜错了.lose"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } } cin>>an; } else if(n==6){ int ac=100; cout<<"请输入1~100的数"<<endl; srand((unsigned)time(0)); int num=rand()%100+1; for(int i=1;i<=ac;i++){ int b; cin>>b; if(b==num){ cout<<"哈哈哈6666猜对了!"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } else if(b>num){ cout<<"大了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(b<num){ cout<<"小了"<<"你还剩"<<ac-i<<"条命"<<endl; } else if(i>ac){ cout<<"猜错了.lose"<<endl; cout<<"舍得离开吗,不舍得输入任意键,残忍拒绝输入0"<<endl; break; } } cin>>an; } } }
- 1