c++给定若干个四位数,求出其中满足以下条件的数的个数: 奇数位上的数字加起来的和,大于偶数位上的数字加起来的和。
时间: 2024-05-12 10:13:54 浏览: 7
可以采用以下的思路:
1. 对于每个四位数,可以通过除以10和取模10的操作得到它的各位数字。
2. 通过判断奇偶性,可以将奇数位上的数字和偶数位上的数字分别相加,得到它们的和 sum_odd 和 sum_even。
3. 判断 sum_odd 是否大于 sum_even,如果是,则满足条件,计数器加一。
4. 对于所有给定的四位数,重复上述操作,最后输出计数器的值即可。
以下是具体的代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int n, count=0;
cin >> n; // 输入四位数的个数
for (int i=0; i<n; i++) {
int num, sum_odd=0, sum_even=0;
cin >> num; // 输入一个四位数
for (int j=1; j<=4; j++) {
int digit = num % 10; // 取出最低位
if (j % 2 == 1) { // 奇数位
sum_odd += digit;
} else { // 偶数位
sum_even += digit;
}
num /= 10; // 把最低位去掉
}
if (sum_odd > sum_even) { // 判断是否满足条件
count++;
}
}
cout << count << endl; // 输出满足条件的个数
return 0;
}
```
运行示例:
输入:
```
5
1234
5678
2468
1357
9876
```
输出:
```
2
```