字符串检测一

输入:一组大于等于0的整数,不考虑非法输入,各个整数之间用“,”隔开,输入的字符总长度小于等于100.

输出:根据从大到小排列,如果中间有连续的,只输出最大和最小的值,输入的各个整都不相同,不用考虑相同的情况。各个整数之间用“,”隔开。

例:

输入:1,4,7,2,5,8,9,11

输出:11,9,7,5,4,2,1

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <iostream>
 4 #include <math.h>
 5 #include <vector>
 6 int main()
 7 {
 8     char *input = (char*)malloc(100 * sizeof(char));
 9     memset(input,0,sizeof(input));
10     scanf("%s", input);
11     std::vector<int>input_number;
12     while ((*input >= ‘0‘) && (*input <= ‘9‘)&&(*input!=‘\0‘))
13     {
14         if (*input!=‘,‘)
15         {
16             char str[5] = "\0";
17             int i = 0;
18             while( (*input != ‘,‘) && (*input!=‘\0‘))
19             {
20                 str[i++] = *input;
21                 input++;
22             }
23             if (strlen(str)>1)
24             {
25                 input_number.push_back(atoi(str));
26             }
27             else
28             {
29                 input_number.push_back((*(input-1) - ‘0‘));
30             }
31         }
32         input++;
33     }
34     int count = 0;
35     for (std::vector<int>::iterator iter_out = input_number.begin(); iter_out != input_number.end(); iter_out++,count++)
36     {
37         for (std::vector<int>::iterator iter_in = input_number.begin(); iter_in != input_number.end()-1- count; iter_in++)
38         {
39             if ((*iter_in) < (*(iter_in+1)))
40             {
41                 int tmp;
42                 tmp=*iter_in;
43                 *iter_in = *(iter_in + 1);
44                 *(iter_in + 1) = tmp;
45             }
46         }
47     }
48     for (std::vector<int>::iterator iter = input_number.begin(); iter < input_number.end()-2;)
49     {
50         int flag = ((*iter)+*(iter+2))-2*(*(iter+1));
51         if (!flag)
52         {
53             iter=input_number.erase(iter+1);
54         }
55         else
56         {
57             iter++;
58         }
59     }
60     for (std::vector<int>::iterator iter = input_number.begin(); iter != input_number.end()-1; iter++)
61     {
62         printf("%d,", *iter);
63     }
64     std::vector<int>::iterator iter = input_number.end() - 1;
65     printf("%d\n",*iter);
66     getchar();
67     getchar();
68     return 0;
69 }
时间: 2024-08-25 00:48:09

字符串检测一的相关文章

完整的用户代理字符串检测脚本

完整的用户代理字符串检测脚本,包括引擎.脚本.平台.Windows操作系统.移动设备和游戏系统. 1 var client = function(){ 2 3 //呈现引擎 4 var engine ={ 5 ie: 0, 6 gecko: 0; 7 webkit: 0; 8 khtml: 0; 9 opera: 0; 10 11 //完整的版本号 12 ver: null 13 }; 14 15 //浏览器 16 var browser = { 17 //主要浏览器 18 ie: 0, 19

JavaScript用户代理字符串检测脚本

以下是完整的用户代理字符串检测脚本,包括检测呈现引擎.平台.Windows操作系统.移动设备和游戏系统.(该代码来自<JavaScript高级程序设计3>) var client = function(){ //呈现引擎 var engine = { ie: 0, gecko: 0, webkit: 0, khtml: 0, opera: 0, //完整的版本号 ver: null }; //浏览器 var browser = { //主要浏览器 ie: 0, firefox: 0, safa

字符串检测二——BCD转码

描述:给定一串数字,进行BCD编码,编码完成后以8Bit为单位输出对应的十进制数值,如果给定字符串是奇数位,编码时需要在最高位补0. 简单BCD码:十进制数值0~9,分别对应4bit二进制编码 0000~1001 给定数字串1234,对应BCD码为0001,0010,0011,0100,以8bit为单位输出十进制数值为:18 52 给定数字串123,对应BCD码为0000 0001 0010 0011(最高位补0),由高位开始以8bit为单位输出十进制数值为:135 输入:只考虑输入串是正整数且

完整的用户代理字符串检测

var client = function(){ //呈现引擎 var engine = { ie: 0, gecko: 0, webkit: 0, khtml: 0, opera: 0, //完整的版本号 ver: null }; //浏览器 var browser = { //主要浏览器 ie: 0, firefox: 0, safari: 0, konq: 0, opera: 0, chrome: 0, //具体版本号 ver: null }; //平台,设备,和操作系统 var syst

软件测试——字符串检测2.0

1 import javafx.application.Application; 2 import javafx.event.ActionEvent; 3 import javafx.event.EventHandler; 4 import javafx.scene.Scene; 5 import javafx.scene.control.Button; 6 import javafx.scene.control.TextField; 7 import javafx.scene.layout.A

js009-客户端检测

js009-客户端检测 本章内容: 1.使用能力检测 2.用户代理检测的历史 3.选择检测方式 一般不使用客户端检测. 9.1 能力检测 也称特性检测.基本模式如下: if(object.propertyInQuestion){ // 使用object.propertyInQuestion   } 9.1.1 更可靠的能力检测 能力检测丢想知道某个特性是否会按照适当的方式行事非常有用. typeof做能力检测是比较可靠. 9.1.2能力检测,不是浏览器检测 9.2 怪癖检测 目标:识别浏览器的特

javascript客户端检测技术

 1. Firefox    Gecko是firefox的呈现引擎.当初的Gecko是作为通用Mozilla浏览器一部分开发的,而第一个采用Gecko引擎的浏览器是Netscape6: 我们可以使用用户代理检测下:如下JS代码: var ua = navigator.userAgent; console.log(ua); 在windows下firefox下打印如下:    Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Fi

python学习笔记之字符串

python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间. 字符串的输出格式: >>>name = "test" >>>print("my name is %s " %name) --输出结果:my name is test PS: 字符串是 %s;整数 %d;浮点数%f 字符串的函数: c

客户端检测

好东西要保留,现在看的好懵逼--@[email protected] A.在浏览器存在差别通常需要根据不同的浏览器的能力分别编写不同的代码,一下一些常用的客户端测方法 1.能力检测:在编写代码之前先检测特定的浏览器的能力,例如,脚本在调用某个函数之前,可能要先检测该函数是否存在,能力检测无法精确地检测特定的浏览器和版本 2.怪癖检测:实际上是浏览器实现中存在的bug,早期的webkit就存在一个怪癖,即为会在for-in循环中返回被隐藏的属性,怪癖检测通常涉及到运行一小段代码,然后确定浏览器是否