需求分析:
或者是更大的范围!
是不是很捉急!运气背点不就over了!
C++版:
#include <stdio.h> #include <stdlib.h> #include<windows.h> #include<bits/stdc++.h> #include<set> #include<algorithm> using namespace std; void menu(); set<int>arr; int main(){ int maxx=0; ///表示标记的区间长度[minn,maxx] int minn=0; printf("请输入数字红包的下限 和上限 (标记区间长度总和不建议超过10000) "); scanf("%d%d",&minn,&maxx); if(abs(maxx-minn)>10000) { printf("范围过大!程序终止!");return 0; } if(minn>maxx) swap(minn,maxx); for(int i=minn;i<=maxx;i++) arr.insert(i); int f=1,num; char s[10]; menu(); while(f!=0){ scanf("%s",s); if(s[0]>='0'&&s[0]<='9'){ sscanf(s,"%d",&num); arr.erase(num); } else if(s[0]=='a'){ sscanf(s,"%*c%d",&num); arr.insert(num); } else if(s[0]=='E'){ if(strcmp("End",s)==0) f=0; } else continue; if(arr.size()<=20){ printf("剩余可选区间: "); set<int>::iterator it; for(it=arr.begin();it!=arr.end();it++){ printf("%d ",*it); } cout<<endl; } else{ printf("剩余可选区间大于20!继续输入! "); } } return 0; } void menu(){ printf("--使用说明-- 1.输入纯数字表示移除该数字 2.输入'a'+数字 表示将该数字加入可选区间 "); printf("3.输入'End'表示终止程序 4.其他输入无效(无反应) -------- "); }
其他版本:html版 (点击进入)
百度网盘
链接:https://pan.baidu.com/s/1H_jnOXxZvlS_k_yi81CWIg 密码:3ee8