📄 shanshuwenti.cpp
字号:
#include"iostream"
#include"fstream"
#include"string"
using namespace std;
#define N 100 //数组的长度
int number,dele,counter=0; //number为整数个数,dele为删去的整数个数,counter为计数器
char stor[N]; //存储选出的最小数
//选出剩下的最小整数
void select(char s[N],int start,int end){
counter++;
int i,k;
char min;
min=s[start];
k=start;
for(i=start+1;i<=end;i++) //在数组的某一范围内选出一个最小的数
if(s[i]<min){
min=s[i];
k=i;
}
stor[counter-1]=min; //将选出的数存储好
k++;
end++;
if(end<=number){ //继续选下一个最小的数
select(s,k,end);
}
stor[counter]='\0';
}
int main(){
int i,k;
char array[N]; //存储读入的整数
ifstream ifile;
ofstream ofile;
cout<<"读入整数..."<<endl;
ifile.open("F:\\测试数据\\贪心法\\删数问题\\test\\dele5.in");//源文件路径
i=0;
while(ifile.get(array[i])){ //从源文件读入整数
cout<<array[i];
if(array[i]=='\n')break;
i++;
}
number=i;
array[i]='\0';
ifile>>dele;
cout<<"删去"<<dele<<"个数"<<endl;
ofile.open("F:\\测试数据\\贪心法\\删数问题\\out_dele5.out");//目标文件路径
select(array,0,dele);
cout<<"删除后剩下的整数为:"<<endl;
k=0;
while(stor[k]=='0'){
k++;
}
for(i=k;i<counter;i++){
cout<<stor[i];
ofile<<stor[i]; //将剩下的最小整数写入目标文件
}
cout<<endl;
ifile.close();
ofile.close();
cout<<"任务顺利完成!"<<endl;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -