标题 选号程序 类别 流程控制 时间限制 1S 内存限制 256Kb 问题描述 小明决定申请一个新的QQ号码,系统随机生成了若干个号码供他选择。小明的选号原则是: 1. 选择所有号码中各位数字之和最大的号码。 2. 如果有多个号码各位数字之和相同则选择数值最大的号码。 请你写一个程序帮助小明选择一个QQ号码。 输入说明 输入数据由两行构成,第一行为一个整数n表示有n个待选号码(0<n<100),第二行有n个正整数,表示各个待选的号码,每个号码长度不超过9位数。每个号码之间用空格分隔,且每个号码都不相同。 输出说明 输出根据小明的选号原则选出的号码。 输入样例 5 10000 11111 22222 333 1234 输出样例 22222
#include <stdio.h>
int main()
{
int n, x, i, s, s1 = 0, temp = 0, d9, d8, d7, d6, d5, d4, d3, d2, d1;
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
scanf("%d", &x);
d9 = x / 1 % 10;
d8 = x / 10 % 10;
d7 = x / 100 % 10;
d6 = x / 1000 % 10;
d5 = x / 10000 % 10;
d4 = x / 100000 % 10;
d3 = x / 1000000 % 10;
d2 = x / 10000000 % 10;
d1 = x / 100000000 % 10;
s = d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9;
if (s > s1)
{
temp = x;
s1 = s;
}
else if (s = s1)
{
if (temp >= x)
break;
else if (temp < x)
{
temp = x;
}
}
}
printf("%d", temp);
return 0;
}