码迷,mamicode.com
首页 > 编程语言 > 详细

华为笔试——C++的int型数字位排序

时间:2018-09-12 17:07:55      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:color   namespace   src   顺序   cout   mes   重复数   分享   span   

题目:int型数字位排序

题目介绍:输入int 型整数,按照从右至左的顺序,返回不含重复数字的新整数。

例:

输入:

99824270

输出:

072489

分析:乍一看很简单,但是很容易忽略int 型包含负整数的这一情况,还有为了应对多组测试数据需要在输入中加入while 循环。

代码:

 1 #include <iostream>
 2 #include <string>
 3 using namespace std;
 4 int main()
 5 {
 6     string str;
 7     int size;
 8     int i = 0, j = 0;
 9     while (cin >> str)
10     {
11         size = str.size();
12         char *p = new char[size];
13         strcpy(p, str.c_str());
14         for (i = 0; i < size; i++)
15         {
16             for (j = 0; j < size; j++)
17             {
18                 if (p[i] == p[j] && i < j)
19                 {
20                     p[i] = a;
21                 }
22             }
23         }
24         if (p[0] == -) { cout << "-"; }
25         for (i = 0; i < size; i++)
26         {
27             if (p[size - 1 - i] >= 0&&p[size - 1 - i] <= 9)
28             {
29                 cout << p[size - 1 - i];
30             }
31         }
32         cout << endl;
33     }
34 }

结果如图:

技术分享图片

第二组测试数据为负数,通过。

华为笔试——C++的int型数字位排序

标签:color   namespace   src   顺序   cout   mes   重复数   分享   span   

原文地址:https://www.cnblogs.com/ljy1227476113/p/9635312.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!