15. 数字游戏
来源:互联网 发布:mmd制作软件最新版 编辑:程序博客网 时间:2024/06/16 13:51
高老师为了活跃课堂气氛,在课件的时候带领同学做了一个数字游戏,每位同学被分配一组非负整数,同学可以将这些数排列起来,组成一个最大的数。比如,有四个数 123、124、56 和 90,可以组成的数是 1231245690、1241235690、5612312490、9012312456 和 9056124123 等等,但其中最大的就是 9056124123。
现在你要做的就是要找到组合的最大数。
输入
首先输入一个正整数 N (0<N<1000),随后出现 N 行,代表 N 组数据,每组数据以 R(0<R<100) 开头,代表此组数据所含有的整数个数,后跟 R 个小于 65536 的非负整数。
输出
依次输出每组测试数据所能组成的最大数。
测试输入 期待的输出 时间限制 内存限制 额外进程
- 3↵
- 4 123 124 56 90↵
- 5 123 124 56 90 9↵
- 5 9 9 9 9 9↵
- 9056124123↵
- 99056124123↵
- 99999↵
#include<stdio.h>#include<string.h>void tz(char strNum[102][7], int k){int i, j;char num1[20], num2[20], numm[8];for (i = 1; i<k; i++){for (j = 0; j<k - i; j++){strcpy(num1, strNum[j]);strcat(num1, strNum[j + 1]);strcpy(num2, strNum[j + 1]);strcat(num2, strNum[j]);if (strcmp(num1, num2)<0){strcpy(numm, strNum[j]);strcpy(strNum[j], strNum[j + 1]);strcpy(strNum[j + 1], numm);}}}}int main(){int i, t, n,nn;char strNum[102][7] = { '\0' };scanf("%d", &t);while(t--){scanf("%d", &n);getchar();nn = 0;for (i = 0; i<n;){scanf("%c", &strNum[i][nn]);if (strNum[i][nn] == ' ' || strNum[i][nn] == '\n'){strNum[i][nn] = '\0';i++;nn = 0;}elsenn++;}tz(strNum, n);if (!strcmp(strNum[0], "0")){printf("0\n");}else{for (nn = 0; nn<n; nn++){printf("%s", strNum[nn]);}printf("\n");}}return 0;}
阅读全文
0 0
- 15. 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- 数字游戏
- CherryPy中文文档-基础知识1
- Android edittext 禁止复制粘贴问题解决方案
- STL之deque容器详解
- 14. 逻辑行计数
- 菜鸡的成长第一弹 ———— tomcat启动的各种错误
- 15. 数字游戏
- leetcode 85. Maximal Rectangle
- 05、react之 条件判断的四种写法
- 35. OP-TEE中基本算法接口调用实现
- 16. 高速收费站
- 网格离散曲率算法(利用Normal cycle 理论计算)
- 算法竞赛入门经典(第2版)-刘汝佳-第四章解题源码(C语言)(部分)
- Material Design——Toolbar
- 面试题9:斐波那契数列