6-3 将整数中每一位上为偶数的数依次取出构成新数

Posted rebloom000

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6-3 将整数中每一位上为偶数的数依次取出构成新数相关的知识,希望对你有一定的参考价值。

给定函数fun的功能是:将长整型数中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为:87653142时,t中的数为:8642。。

函数接口定义:

void fun (long s, long *t);
 

其中 st 是用户传入的参数。函数将整数 s 中每一位上为偶数的数依次取出,构成一个新数放在t指针所指的变量中。

裁判测试程序样例:

#include <stdio.h> 
void fun (long s, long *t);
int main()
{ long s, t;
 scanf("%ld", &s);
 fun(s, &t);
 printf("The result is: %ld
", t);
 return 0;
}


/* 请在这里填写答案 */

 

 

输入样例:

87653142

 

输出样例:

The result is: 8642

 

#include <stdio.h> 
void fun (long s, long *t);
int main()
{ long s, t;
 scanf("%ld", &s);
 fun(s, &t);
 printf("The result is: %ld
", t);
 return 0;
}

void fun (long s, long *t)//本题采用的不是数组类型,所以使用整数中的除与取余数来做 
{
	int sum = 0;
	int flag = 1;
	while(s > 0)
	{
		if(s % 10 % 2 == 0)
		{
			sum += s % 10 * flag;
			flag *= 10;
		}
		s /= 10;
	}
	*t = sum;
}

 

 

以上是关于6-3 将整数中每一位上为偶数的数依次取出构成新数的主要内容,如果未能解决你的问题,请参考以下文章

c语言,任意输入一个五位正整数,逆序输出每一位上的数

2.Add Two Numbers

awk 如何将一个文本的奇数行和偶数行合并 与 第2行和第3行合并

怎样计算一个整数的位数&并把每一位上的数字保存下来

筛选奇数问题关键算法

如何在matlab中得到一个小数小数点后每一位上的数?输出为一个数组。