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