输入两个最大长度不超过四位的不相等的整型数字,将每一位(个、十、百、千位)上的数字值相加,输出相加和最大的数,如数字123的数位和为6,数字19数位和为10,10>6,输出19,当两数的数位和相等时输出原始数中的较大值。C语言
时间: 2024-11-06 12:19:38 浏览: 16
在C语言中,你可以使用嵌套循环和条件判断来解决这个问题。首先,读取输入的两个数字,然后对每个数字的每位分别求和。比较这两个数位和以及原数值,找出其中较大的。以下是简单的步骤和伪代码:
```c
#include <stdio.h>
int sumOfDigits(int num) {
int digitSum = 0;
while (num > 0) {
digitSum += num % 10; // 取个位
num /= 10; // 移除个位
}
return digitSum;
}
int maxDigitSumAndNum(int num1, int num2) {
int sum1 = sumOfDigits(num1);
int sum2 = sumOfDigits(num2);
if (sum1 > sum2 && num1 >= num2) {
return num1; // 如果第一个数的和大且数字也大
} else if (sum2 > sum1) {
return num2; // 否则返回第二个数
} else { // 如果和相等,则选择较大的原始数
return num1 > num2 ? num1 : num2;
}
}
int main() {
int num1, num2;
printf("请输入第一个4位数: ");
scanf("%d", &num1);
printf("请输入第二个4位数(不等于前一个): ");
scanf("%d", &num2);
int result = maxDigitSumAndNum(num1, num2);
printf("输出结果: %d\n", result);
return 0;
}
```
阅读全文