一.效果
输入:12345 输出:奇数位和为9 或者 偶数位和为6
二.实现步骤
1.将数字的每个数取出来
用循环对于要求的数对于10取余 再除10,需要注意的是取余是从一个数的后面开始的所以如何对123取余得到的是3 2 1.
2.将取出来的每个数的偶数位或者奇数位加起来
利用循环把得到的数按照偶数和奇数加起来,分别存起来.
3.判断满足要求的数,打印出来就可以了
如果输入123 得到的是取出的顺序是3 2 1
通过分析我们可以得到对于有奇数位数的数字->偶数位(奇数位)还是原来偶数位(奇数位)
如果输入1234 得到的是4 3 2 1
通过分析我们也可以得到对于有偶数位数的数字->偶数位(奇数位)是原来的奇数位(偶数位)
所以我们只要通过对循环次数的记录就可以知道它是一个偶数位数的数字还是奇数位数的数字打印相应的值就可以了.
三.参考代码
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main() {
int a = 0;
int sumj = 0;
int sumo = 0;
int tj = 1;
int count =1;
int i = 0;
scanf("%d", &a);
while (tj) {
if (a >= 10) {
i = a % 10;
if (count % 2 == 0) {
sumo = sumo + i;
}
else {
sumj = sumj + i;
}
a = a / 10;
count++;
}
else{
if (count % 2 == 0) {
sumo = sumo + i;
}
else {
sumj = sumj + i;
}
tj = 0;
}
}
if (count % 2 == 0) {
printf("偶数位的和为=%d", sumj);//printf("奇数位的和为=%d", sumo);
}
else {
printf("偶数位的和为=%d", sumo);//printf("偶数位的和为=%d", sumj);
}
return 0;
}