标签:plain target sys ++ link tps for https etc
输入为两行内容,第一行是正整数number,1 ≤ length(number) ≤ 1000。第二行是希望去掉的数字数量cnt 1 ≤ cnt < length(number)。
输出保留下来的结果。
325 1
35
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <iomanip>  //不能写成#include <iomanip.h> 
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) 
{
	int number,k;
	int array[3];     //将 百、十、个位 从小到大排序 
	int array1[3];   //保留百、十、个位 
	cin>>number;
	cin>>k;
				
	array[0]=number/100;    //分离百、十、个位  
	array[1]=number/10%10;
	array[2]=number%10;
					
	array1[0]=number/100;   //分离百、十、个位  
	array1[1]=number/10%10;
	array1[2]=number%10;
								
	for(int i=0;i<3;i++)  //将 百、十、个位 从小到大排序 
	{
		int j=i-1;
		int temp=array[i];
		while(j>=0&&array[j]>temp)
			{
				array[j+1]=array[j];
				j--;
			}
				array[j+1]=temp;
	}
//	cout<<array[0]<<setw(3)<<array[1]<<setw(3)<<array[2]<<endl;  //调试用,输出 百、十、个位 
	switch(k)   //根据K的数值分类 
	{
		case 0:break;
		case 1:
			{
				if(array1[0]==array[0])
					{
						cout<<number%100<<endl;
					}
				if(array1[1]==array[0])
					{
						cout<<array1[0]*10+array1[2]<<endl;
					}
				if(array1[2]==array[0])
					{
						cout<<number/10<<endl;
					}
//				cout<<array[0]<<setw(3)<<array[1]<<setw(3)<<array[2]<<endl;
			}
			break;
		case 2:
			{
				if(number<100)
					cout<<"Error"<<endl;
				if(number>99&&number<1001)
				 	cout<<array[2]<<endl;
			}
			break;
		case 3:
			{
				if(number<1000)
					cout<<"Error"<<endl;
				if(number==1000)
					cout<<1<<endl;
			}
			break;
		default:break;
	}
	return 0;
}
标签:plain target sys ++ link tps for https etc
原文地址:http://www.cnblogs.com/panlangen/p/7746003.html