C语言取出一个长整型数中的偶数并构成一个新数案例讲解

2023-10-29

 思路分析

1  本题的难点在于:如何把一个长整型数中每一位上的数依次取出。

可以使用while循环对整数中的每一位进行取模操作,取出最后一位数,然后把这个数保存到一个数组中,并用除法去掉最后一位数,循环遍历直到一个整数中的每一位都被取出并依次保存到一个数组中。

2 使用for循环遍历保存在数组中的所有数,依次对2取模判断是不是偶数,然后留下偶数。

3 把留下的偶数按从小到大排序,然后组成一个新数。

例子;

一个长整型数:5789621

他每一位上的数依次为5,7,8,9,6,2,1;

保留偶数:8,6,2;

把保留的偶数按从小到大排序:2,6,8;

组成一个新数:862;

案例全部代码如下

#include <stdio.h>
void main(){
	int i,j=0,a=0,b,temp,sum=0,d=1;
	int arr[10];
	scanf("%d",&i);
	while(i!=0){
		a=i%10;
		if(a%2==0){
			arr[j]=a;
			j++;
		}
		i=i/10;
	}//取出偶数,并依次保存到一个数组中
	for(i=0;i<j-1;i++){
		for(b=0;b<j-1-i;b++){
			if(arr[b]>arr[b+1]){
				temp=arr[b];
				arr[b]=arr[b+1];
				arr[b+1]=temp;
			}
		}
	}//取出的偶数按从小到大排序,使用冒泡排序法
    for(i=0;i<j;i++){
	     sum+=arr[i]*d;
		 d=d*10;
	}//把偶数组合成一个新数
	printf("%d",sum);//打印输出组合成的新数
}

代码运行结果如下

说明:有小伙伴在评论区留言说不理解把偶数构成一个新数的代码原理,所以今天特意写了一个博客就是分析这个原理,解释为什么要这样写。

博客链接:https://blog.csdn.net/weixin_63279307/article/details/129799395?spm=1001.2014.3001.5502

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言取出一个长整型数中的偶数并构成一个新数案例讲解 的相关文章

随机推荐

  • 公安交管工作数字化转型存在的问题及对策建议

    近年来 数字中国 交通强国 数字政府 等关键词密集出现在党和国家层面的各种会议 文件 报告和规划中 特别是在党的二十大报告中 明确提出加快建设 数字中国 和 交通强国 2023年初 又先后印发了 数字中国建设整体布局规划 和批准组建国家数据
  • ps 命令查看进程下的线程及线程状态

    ps 命令查看进程下的线程及线程状态 查看java所有线程 ps eLf grep java 查看进程下的所有线程cpu利用率 top H p 25120 其中25120为Java进程号 下图红色标注的地方为线程状态 其中总数为28 当前运
  • Windows 32位、64位 Android Studio 解压版安装及SDK配置

    android studio最新版只有64位可以直接安装 不用配置 32位只能解压后自己安装SDK并配置 android studio需要安装jdk才能运行 我的jdk已经配置好 可以通过在cmd中输入java version检查jdk是否
  • CH5-数据存储

    文章目录 目标 一 数据存储方式 目标 1 1 数据存储方式 二 文件存储 目标 2 1 将数据存入文件中 内部存储 外部存储 2 2 从文件中读取数据 内部存储 外部存储 申请SD卡写文件的权限 2 3 实战演练 保存QQ账号与密码 三
  • linux网络名字空间介绍

    1 什么是网络名字空间 what are network namespaces Generally speaking an installation of Linux shares a single set of network inter
  • sockjs-node请求一直报错

    今天在运行本地项目时候 一直提示sockjs node info 请求失败 我一直在想本地并没有这个请求接口 这个是哪里来的 后来经过查阅资料发现 sockjs node 是一个JavaScript库 提供跨浏览器 JavaScript 的
  • 蓝桥杯省赛2021 回路计数 python

    题目描述 蓝桥学院由 21栋教学楼组成 教学楼编号 1 到 21 对于两栋教学楼 a 和 b 当 a 和 b 互质时 a和 b之间有一条走廊直接相连 两个方向皆可通行 否则没有直接连接的走廊 小蓝现在在第一栋教学楼 他想要访问每栋教学楼正好
  • python实现onvif客户端及问题小结

    python实现onvif客户端及问题小结 文章目录 python实现onvif客户端及问题小结 1 前言 2 python onvif安装及ptz示例 2 1 openwrt下安装pip及python onvif 2 2 ptz示例 3
  • 公众号一次性订阅消息

    洛塔服务号回复007获取代码 功能说明 之前发布通知 要用订阅通知替代一次性订阅消息 不知道是被骂的太惨还是技术原因 一次性订阅消息还是一直能用 和模板消息不同的是 一次性订阅消息无需用户关注公众号 但是必须用户点击同意发送才能接收消息 模
  • 面试被问Spring Boot自动配置原理,答不出来?

    我们知道 Spring Boot 项目创建完成后 即使不进行任何的配置 也能够顺利地运行 这都要归功于 Spring Boot 的自动化配置 Spring Boot 默认使用 application properties 或 applica
  • 1.7 C++ struct class

    c 中 struct 内可以定义函数 c不可以 定义时 可以省略struct关键字 可以对成员加入访问权限 private protected public 如何对private和protected 进行外部赋值和访问 set 和get方法
  • selenium跳转新页面定位

    1 获取当前页面 跳转过来的页面 句柄 self driver window handles 1 2 切换窗口 self driver switch to window self driver window handles 1 3 sele
  • C语言二维数组作为形参传递问题

    问题 今天想用一个二维字符串数组保存字符串 在参数传递过程中发现返回的结果不对 上网一搜 发现二维数组作为形参传递不像一维数组那么简单 请看以下详细分析 异常代码 int StrCut char pinput char ppOut char
  • 1477 找两个和为目标值且不重叠的子数组

    题目描述 给你一个整数数组 arr 和一个整数值 target 请你在 arr 中找 两个互不重叠的子数组 且它们的和都等于 target 可能会有多种方案 请你返回满足要求的两个子数组长度和的 最小值 请返回满足要求的最小长度和 如果无法
  • Linux/Windows备份数据库

    使用场景基于SpringBoot 简单的记录下 比较粗糙 工具类 public static int backupMysql String host String root String pwd String dbName String b
  • 如何在 Linux 上安装、启动和卸载 Lotus Notes 8.5

    http tech ddvip com 2010 04 1271908410152075 html 安装之前的准备工作 在 Linux 客户机上安装 IBM Lotus Notes 8 5 之前 应了解以下信息 客户机配置要求 表 1 No
  • Spark

    1 Spark架构设计 1 1架构设计图 1 2 相关术语名词解释 1 RDD Resillient Distributed DataSet 弹性分布式数据集 是对数据集在Spark存储和计算过程中的一种抽象 是一组制度 可分区的分布式数据
  • 【Docker】docker bash: sudo: command not found

    1 背景 mac下安装了docker 然后用docker 安装了grafana软件 然后进入grafana base lcc lcc prometheus docker exec it 4b5f517f4340 bash grafana 4
  • 【经典】SpringBoot自定义配置信息

    当我们系统中为方便管理 会定义一些自定义配置项 方便系统的管理和维护 在SpringBoot中 有两种方式可以进行自定义配置 Value 进行单个属性的注入 ConfigurationProperties 类型安全加载 Value方式注入
  • C语言取出一个长整型数中的偶数并构成一个新数案例讲解

    思路分析 1 本题的难点在于 如何把一个长整型数中每一位上的数依次取出 可以使用while循环对整数中的每一位进行取模操作 取出最后一位数 然后把这个数保存到一个数组中 并用除法去掉最后一位数 循环遍历直到一个整数中的每一位都被取出并依次保