华为机试—根据各个位的和排序
来源:互联网 发布:淘宝围巾专卖店有哪些 编辑:程序博客网 时间:2024/04/28 03:42
/* 输入10个数字,按各个位上的和从小到大排序,如果相同,则按数字从小到大排序 */#include<stdio.h>#include<stdlib.h>typedef struct node{ int ori; int n;}node;int cmp(const void *a,const void *b){ if(((node*)a)->n==((node*)b)->n) return ((node*)a)->ori-((node*)b)->ori; return ((node*)a)->n-((node*)b)->n;}int main(int argc, char *argv[]){ node num[100]; int t; int i=0; int len; while(~scanf("%d",&t)){ num[i++].ori=t; } len=i; for(i=0;i<len;++i) { num[i].n=0; int n=num[i].ori; while(n) { num[i].n+=n%10; n/=10; } } qsort(num,len,sizeof(node),cmp); for(i=0;i<len-1;++i) printf("%d ",num[i].ori); printf("%d\n",num[len-1].ori); return 0;}
测试数据:
11 3 2 4 5 9 8 7 10 6
测试结果:
0 0
- 华为机试—根据各个位的和排序
- 华为机试—根据各个位的和排序
- 华为机试—输出一个数字各个位数和
- c# int数组 每个int的各个位排序 和数组排序
- C语言—输入10个数字,按各个位上的和从小到大排序,如果相同,则按数字从小到大排序
- 输入10 个数字,按各个位上的和从小到大排序,如果相同,则按数字从小到大排序。
- 华为机试——字符串排序
- 华为机试——数组排序
- 华为机试—差值排序
- 华为机试—差值排序
- 华为机试—提取数字排序
- 华为机试—提取数字排序
- 华为机试—32位处理器上数值转换
- 华为机试题之二:输入一串用空格隔开的数字串,对于数字串的奇数位按升序排序,偶数位按降序排序.
- 华为机试--字符串排序
- 华为机试---成绩排序
- 华为机试---数字排序
- 华为机试-字符串排序
- Tomcat无法启动原因分析与排除
- HTTPS及加密信息全解析
- 编程题(1)------“上三角”填充(C)
- 年和规范的歌
- 55555555555
- 华为机试—根据各个位的和排序
- 没机会广泛的广泛的
- 使用爱查快递接口
- ubuntu 14.04 安装深度音乐
- GitHub上传代码
- Visual Studio 2013 Find in Files 无法显示搜索结果
- 判断一个对象是否遵循协议
- 华为机试—数字逆序且求个位数乘积
- Linux使用nc命令监控检测服务器端口