[1188]C语言实验——各位数字之和排序 sdutOJ
来源:互联网 发布:阿里炒股软件 编辑:程序博客网 时间:2024/05/22 04:57
C语言实验——各位数字之和排序
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
给定n个正整数,根据各位数字之和从小到大进行排序。
输入
输入数据有多组,每组数据占一行,每行的第一个数正整数n,表示整数个数,后面接n个正整数。当n为0时,不作任何处理,输入结束。
输出
输出每组排序的结果。
示例输入
2 1 23 121 10 1110
示例输出
1 210 111 121
#include <stdio.h>int main(){ int n,i,j,q,t; while(scanf("%d",&n),n) { int a[n]; int sum[n]; for(i=0; i<n; i++) { scanf("%d",&a[i]); sum[i]=a[i]; } for(i=0; i<n; i++) { q=sum[i]; sum[i]=0; while(q/10!=0) { sum[i]+=q%10; q/=10; } if(q/10==0) sum[i]+=q; } for(i=0; i<n-1; i++) for(j=0; j<n-i-1; j++) { if(sum[j]>sum[j+1]) { t=sum[j]; sum[j]=sum[j+1]; sum[j+1]=t; t=a[j]; a[j]=a[j+1]; a[j+1]=t; } else if(sum[j]==sum[j+1]) { if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } for(i=0; i<n; i++) { if(i!=n-1) printf("%d ",a[i]); else printf("%d\n",a[i]); } } return 0;}
0 0
- [1188]C语言实验——各位数字之和排序 sdutOJ
- 1188C语言实验——各位数字之和排序
- 1188C语言实验——各位数字之和排序
- C语言实验——各位数字之和排序
- C语言实验——各位数字之和排序
- 2009: C语言实验——各位数字之和排序
- C语言实验——各位数字之和排序
- C语言实验——各位数字之和排序
- C语言实验——各位数字之和排序
- C语言实验——各位数字之和排序
- 山东理工ACM 1188 C语言实验——各位数字之和排序
- sdut.acm 1188C语言实验——各位数字之和排序
- SDUT-1188 C语言实验——各位数字之和排序
- 1188-C语言实验-各位数字之和排序
- 理工大学ACM平台题关于C语言1188 C语言实验——各位数字之和排序
- C语言实验——各位数字之和排序 (sdut oj)
- 各位数字之和排序
- 各位数字之和排序
- UVA 10003 - Cutting Sticks
- C++时间类的运算符重载
- CodeSmith通过CSP文件生成代码的API使用
- settings.xml配置
- hdu 2048 神、上帝以及老天爷
- [1188]C语言实验——各位数字之和排序 sdutOJ
- 【Android Studio(二)】创建工程
- FZU OJ 1055 赋值问题
- FreeMarker语法知识
- JS产生随机数的几个用法!
- 图的割点、桥与双连通分支
- hash实现 与fastfail处理并发
- 百度云推送push-- 跨平台移动开发phonegap/cordova 3.3全系列教程
- Mybatis_review之配置文件中的objectFactory节点内容说明