zoukankan      html  css  js  c++  java
  • 最大递增数

    输入一串数字,找到其中包含的最大递增数。递增数是指相邻的数位从小到大排列的数字。如: 2895345323,递增数有:289,345,23, 那么最大的递增数为345。运行时间限制:无限制内存限制:无限制输入:输入一串数字,默认这串数字是正确的,即里面不含有字符/空格等情况输出:输出最大递增数样例输入:123526897215样例输出:2689


    // MaxIncreseNum.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include<iostream>
    using namespace std;
    
    char* MaxIncreaseNum(char*numstr);
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	//char* in = "48917467";
    	//char* in = "12345678";
    	char* in = "244891746789";
    
    	cout << "原字符串是:";
    	for (int i = 0; i < strlen(in); i++)
    		cout << in[i];
    	cout << endl;
    	cout << "字符串长度为"<<strlen(in) << endl;
    	char*out = MaxIncreaseNum(in);
    	cout << "最大递增数是:";
    	for (int i = 0; i < strlen(in); i++)
    		cout << out[i];
    	cout << endl;
    
    
    
    	//下面测试atoi函数,只是验证,与题目无关
    	int k;
    	k = atoi("123    ");//测试带空格的字符串的输出,结果输出为123
    	cout << k <<0;
    	system("pause");
    	return 0;
    }
    
    
    char* MaxIncreaseNum(char*numstr)
    {
    	int j = 0;
    	char*findNum = new char[strlen(numstr)];//store the find num
    	char*MaxNum = new char[strlen(numstr)];//store the max num
    	for (int i = 0; i < strlen(numstr); i++)
    	{
    		findNum[i] = ' ';
    		MaxNum[i] = ' ';
    	}
    	MaxNum[0] = numstr[0];
    	int digitofnum = 1;
    	while (j < strlen(numstr)-1)
    	{
    		int k = 0;
    		findNum[0] = numstr[j];
    		while (numstr[j] < numstr[j + 1])
    		{
    			k = k + 1;
    			j = j + 1;
    			findNum[k] = numstr[j];
    		}
    		if (k + 1>digitofnum)//如果找到的数的位数大于之前的最大数的位数
    		{
    			digitofnum = k + 1;
    			for (int i = 0; i < strlen(numstr); i++)
    			{
    				MaxNum[i] = findNum[i];
    			}
    		}
    		if (k + 1 == digitofnum);//如果找到的数的位数等于之前的最大数的位数
    		{
    			int gg = atoi(MaxNum);
    			int kk = atoi(findNum);
    			if (kk>gg)
    				for (int i = 0; i < strlen(numstr); i++)
    				{
    					MaxNum[i] = findNum[i];
    				}
    		}
    		j = j + 1;
    	}
    
    	return MaxNum;
    }





    版权声明:

  • 相关阅读:
    hive与hbase整合
    待重写
    hive DML
    【知识强化】第六章 总线 6.1 总线概述
    【知识强化】第五章 中央处理器 5.1 CPU的功能和基本结构
    【知识强化】第四章 指令系统 4.3 CISC和RISC的基本概念
    【知识强化】第四章 指令系统 4.2 指令寻址方式
    【知识强化】第四章 指令系统 4.1 指令格式
    【知识强化】第三章 存储系统 3.6 高速缓冲存储器
    【知识强化】第三章 存储系统 3.5 双口RAM和多模块存储器
  • 原文地址:https://www.cnblogs.com/walccott/p/4956925.html
Copyright © 2011-2022 走看看