C语言实验——各位数字之和排序

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

给定n个正整数,根据各位数字之和从小到大进行排序。

Input

输入数据有多组,每组数据占一行,每行的第一个数正整数n,表示整数个数,后面接n个正整数。当n为0时,不作任何处理,输入结束。n<=10

Output

输出每组排序的结果。

Sample Input

2 1 2

3 121 10 111

0

Sample Output

1 2

10 111 121

可以开两个数组,一个存储原数字,一个存储各位数字之和,然后排序是一起变动就可以,不过想到了C里的结构体,Java的类也是类似的功能。

import java.util.*;

public class Main {

	public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
num[] a = new num[15];
num t = new num();
int n,i,j;
for(i=0;i<15;i++)
a[i] = new num();
while(cin.hasNextInt())
{
n = cin.nextInt();
if(n==0)
break;
for(i=0;i<n;i++)
{
a[i].x = cin.nextInt();
a[i].b = a[i].f();
}
for(i=0;i<n;i++)
for(j=0;j<n-i-1;j++)
if(a[j].b>a[j+1].b)
{
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
for(i=0;i<n;i++)
if(i==n-1)
System.out.println(a[i].x);
else
System.out.print(a[i].x+" ");
}
cin.close();
}
} class num
{
int x,b;
int f()
{
int a = x,sum = 0;
while(a!=0)
{
sum += a%10;
a /= 10;
}
return sum;
}
}

Java练习 SDUT-1188_各位数字之和排序的更多相关文章

  1. 用java求一个整数各位数字之和

    /* * 用java求一个整数各位数字之和 */ public class Test02 { public static void main(String[] args) { System.out.p ...

  2. 用java刷剑指offer(数字在排序数组中出现的次数)

    题目描述 统计一个数字在排序数组中出现的次数. 牛客网链接 java代码 //看见有序就用二分法 public class Solution { public int GetNumberOfK(int ...

  3. 【Java】 剑指offer(53-1) 数字在排序数组中出现的次数

    正文 本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 统计一个数字在排序数组中出现的次数.例如输入排序数组{1, ...

  4. 剑指Offer-36.数字在排序数组中出现的次数(C++/Java)

    题目: 统计一个数字在排序数组中出现的次数. 分析: 给定一个已经排好序的数组,统计一个数字在数组中出现的次数. 那么最先想到的可以遍历数组统计出现的次数,不过题目给了排序数组,那么一定是利用了排序这 ...

  5. Java初学者作业——输入一个五位数字,计算各位数字之和并输出,运行结果为五个数字之和(实践2)

    返回本章节 返回作业目录 需求说明: 编写Java程序,输入一个五位数字,计算各位数字之和并输出,运行结果为五个数字之和. 实现思路: (1)声明变量num,用于存储用户输入的数字. (2)通过Sca ...

  6. Java实现 LeetCode 129 求根到叶子节点数字之和

    129. 求根到叶子节点数字之和 给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字. 例如,从根到叶子节点路径 1->2->3 代表数字 12 ...

  7. java程序 输入10个数字并求和

    课程作业: 模仿JavaAppArguments.java示例,编写编写一个程序,此程序从命令行接受多个数字,求和之后输出结果. 设计思想: 先从命令行读出数字,然后计算各个数字之和.求出结果. 流程 ...

  8. 剑指offer-第六章面试中的各项能力(数字在排序数组中出现的次数)

    题目:统计一个数字在排序数组中出现的次数. 思路:采用二分查找,找到该数字在数组中第一次出现的位置,然后再找到组后一个出现的位置.两者做减法运算再加1.时间复杂度为O(logn) Java代码: // ...

  9. 【剑指Offer】37、数字在排序数组中出现的次数

      题目描述:   统计一个数字在排序数组中出现的次数.例如,输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于数字3在该数组中出现了4次,所以函数返回4.   解题思路:   既然输入的数 ...

随机推荐

  1. c++设计模式:代理模式

    代理模式的实现和visitor实现有一曲同工之妙.这里就不多说了,也是实现set_delegate接口,以及回调函数处理接口. 主要区别在于: visitor主要是把信息回调之后就不管了. 代理模式主 ...

  2. 异步 I/O 和事件驱动

    异步IO(asynchronous I/O) 首先来理解几个容易混淆的概念,阻塞IO(blocking I/O)和非阻塞IO(non-blocking I/O),同步IO(synchronous I/ ...

  3. LINQ(语言集成查询)

    LINQ,语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作 ...

  4. 虚拟机安装redis

    sudo pecl install redis 先代码里先phpinfo(); 看看php版本 有可能是7.2 sudo vim /etc/php/7.1/fpm/php.ini    (注意 php ...

  5. PHP的注释规范

    <?php //注释规范 /** *函数的功能 *@param 参数类型 参数名1 参数解析 *@param 参数类型 参数名2 参数解析 *@return 返回值类型 返回值解析 *@auth ...

  6. html DOM(CSS放置位置的问题)

    转载自: http://www.php.cn/div-tutorial-386900.html (本文对读者有帮助的话请移步支持原作者) 笔记: 这样会先加载css的样式,在渲染dom的时候已经知道了 ...

  7. Hdu 2513 区间DP

    Cake slicing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  8. C#中Object转化为json对象

    比如定义一个类: public class Lines { public string X1 { get; set; } public string X2 { get; set; } public s ...

  9. OpenLayers在地图外放置控件

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head ...

  10. 使用Git Bash进行代码管理

    前提是已经安装了GitBash,这个稍后再出教程 1.新建一个目录,存放下载下来的项目,我在D盘新建了一个“gitspace”文件夹,用来存放下载下来的项目 2.进入刚刚新建的文件夹,即进入“gits ...