zoukankan      html  css  js  c++  java
  • 九度 1504 把数组排成最小的数

    题目描述

    总结

    1. 将数字转化成 string 和字符串

    sprintf(char*, "%d", int)

    string = char*, 可以直接赋值

    2. std::sort 的比较函数写法

    bool cmp(const &int, const &int)

    3. 能用库函数, 尽量用库函数, 能减少错误

    代码未通过九度测试

    #include <iostream>
    #include <stdio.h>
    #include <string>
    #include <string.h>
    #include <algorithm>
    #include <math.h>
    using namespace std;
    
    int n;
    int arr[1000];
    
    bool cmp(const int &a, const int &b) {
    	int cpa = a, cpb = b;
    	int sizea = 0, sizeb = 0;
    	while(cpa > 0) {
    		cpa = cpa/10;
    		sizea ++;
    	}
    	
    	while(cpb > 0) {
    		cpb = cpb/10;
    		sizeb ++;
    	}
    	
    	int newa = a * (pow(10, sizeb)) + b;
    	int newb = b * (pow(10, sizea)) + a;
    	
    	return newa < newb;
    }
    
    int main() {
    	freopen("C:\Users\vincent\Dropbox\workplacce\joj\test.txt", "r", stdin);
    	while(scanf("%d", &n) != EOF) {
    		for(int i = 0; i < n; i ++)
    			scanf("%d", arr+i);
    			
    		sort(arr, arr+n, cmp);
    		for(int i = 0; i < n; i ++)
    			printf("%d", arr[i]);
    		printf("
    ");
    	}
    	return 0;
    }
    

      

    以前提交的代码, 通过九度测试

    #include <iostream>
    #include <stdio.h>
    #include <string>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    
    int numbers[200];
    string str_num[200];
    
    bool cmp(const string &str1, const string &str2) {
    	string _str1 = str1;
    	string _str2 = str2;
    	_str1.append(str2);
    	_str2.append(str1);
    
    	return _str1 < _str2;
    
    }
    
    int main() {
    	int n;
    	while(scanf("%d", &n) != EOF) {
    		for(int i = 0; i < n; i ++)
    			scanf("%d", numbers+i);
    
    		for(int i = 0; i < n; i ++) {
    			char str[20];
    			sprintf(str, "%d", numbers[i]);
    			str_num[i] = str;
    		}
    
    		sort(str_num, str_num+n, cmp);
    
    		for(int i = 0; i < n; i ++) {
    			cout << str_num[i];
    		}
    		cout << endl;
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    php 编码规范(1)
    ubuntu 引导删除
    http协议详解
    centos 下mysql操作
    php 异常捕获
    php 设置报错等级
    在WINDOWS SERVER 上或远程桌面中使用 MUTEX
    发送WIN+SAPCE键,WINDOWS,空格键
    访问本机的WEB API 报400错误
    php.ini xdebug
  • 原文地址:https://www.cnblogs.com/zhouzhuo/p/3642198.html
Copyright © 2011-2022 走看看