[c语言]给定一个三位数,判断其每一位数字,若为偶数,则进行累加,如:124,其第1、2位为偶数,所以其偶数位之和为2+4=6。

题目:

给定一个三位数,判断其每一位数字,若为偶数,则进行累加,如:124,其第1、2位为偶数,所以其偶数位之和为2+4=6。

一、一开始打算用数组写一个循环,但是运行结果是错误的,有没有佬看看是啥毛病qwq

#include <stdio.h>
int main() {
    int arr[2];
    int size = sizeof(arr) / sizeof(arr[0]);
    int j;
    for(j=0;j<3;j++)
    {
    	scanf("%d",&arr[j]);
	}
    int sum = 0;
    for (int i = 0; i < 3; ++i) {
        if (arr[i] % 2 == 0) {
            sum += arr[i];
        }
    }

    printf("%d\n", sum);

    return 0;
}

二、然后用了最笨的方法,用个十百计算相加,运行出了正确结果:

#include<stdio.h>
int main()
{
  int x;
  int sum=0;
  int ge,shi,bai;
  
   scanf("%d",&x);
    ge=x%10;
    int x1=x/10;
    shi=x1%10;
    int x2=x1/10;
    bai=x2%10;
   if(ge%2==0)
   {
	sum=ge;
	if(shi%2==0)
   {
     sum=sum+shi;	
    }
    if(bai%2==0)
      {
        sum=sum+bai;	
      }
    }

    printf("%d",sum);
 } 

运行结果:

猜你喜欢

转载自blog.csdn.net/weixin_52336311/article/details/134042757