⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shanshuwenti.cpp

📁 给定n位正整数a
💻 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 + -