取数组中每个元素的最高位

1 题目

/*程序将一维数组a中N个元素的最高位取出,保存在一维数组b的对应位置。
程序运行结果为:
a:82 756 71629 5 2034
b: 8 7 7 5 2
*/

2 思考

简单来说就是取一个数据的最高位。
一开始的笨方法没有办法判断数据的长度,后来看到了聪明的方法,值得学习

3 探究

3.1 聪明的方法

for(i=0;i<sizeof(arr_a)/sizeof(int);i++){temp=arr_a[i];while(temp>10){temp=temp/10;}arr_b[i]=temp;}

3.1 笨方法

for(i=0;i<sizeof(arr_a)/sizeof(int);i++){if(arr_a[i]<10){arr_b[i]=arr_a[i];}else if(arr_a[i]<100){arr_b[i]=arr_a[i]/10;}else if(arr_a[i]<1000){arr_b[i]=arr_a[i]/100;}else if(arr_a[i]<10000){arr_b[i]=arr_a[i]/1000;}else if(arr_a[i]<100000){arr_b[i]=arr_a[i]/10000;}else //if(arr_a[i]<1000000){arr_b[i]=arr_a[i]/100000;}	}

4 完整代码

/*程序将一维数组a中N个元素的最高位取出,保存在一维数组b的对应位置。
程序运行结果为:
a:82  756  71629   5  2034
b:  8    7      7   5     2
*/
#include <stdio.h>
int main(void)
{int i=0;int arr_a[]={82 ,756 , 71629 ,  5  ,2034};int arr_b[10];int temp;for(i=0;i<sizeof(arr_a)/sizeof(int);i++){temp=arr_a[i];while(temp>10){temp=temp/10;}arr_b[i]=temp;}for(i=0;i<sizeof(arr_a)/sizeof(int);i++){printf("arr_a[%d]=%d\t",i,arr_a[i]);}printf("\n");for(i=0;i<sizeof(arr_a)/sizeof(int);i++){printf("arr_b[%d]=%d\t",i,arr_b[i]);}printf("\n");return 0;
}

在这里插入图片描述

5 自己输入元素,练习printf

/*程序将一维数组a中N个元素的最高位取出,保存在一维数组b的对应位置。数组a的数据从键盘输入
程序运行结果为:
a:82  756  71629   5  2034
b:  8    7      7   5     2
*/
#include <stdio.h>
#define N 4int main(void)
{int i=0;int arr_a[N];int arr_b[N];int temp;printf("请输入%d个元素\n",N);for(i=0;i<sizeof(arr_a)/sizeof(int);i++){scanf("%d",&arr_a[i]);}for(i=0;i<sizeof(arr_a)/sizeof(int);i++){temp=arr_a[i];while(temp>10){temp=temp/10;}arr_b[i]=temp;}for(i=0;i<sizeof(arr_a)/sizeof(int);i++){printf("arr_a[%d]=%d\t",i,arr_a[i]);}printf("\n");for(i=0;i<sizeof(arr_a)/sizeof(int);i++){printf("arr_b[%d]=%d\t",i,arr_b[i]);}printf("\n");return 0;
}

在这里插入图片描述

6 求输入元素最低位——拓展题

/*程序将一维数组a中N个元素的最低位取出,保存在一维数组b的对应位置。数组a的数据从键盘输入
程序运行结果为:
a:82  756  71629   5  2034
b:  2    6      9   5     4
*/
#include <stdio.h>
#define N 4int main(void)
{int i=0;int arr_a[N];int arr_b[N];int temp;printf("请输入%d个元素\n",N);for(i=0;i<sizeof(arr_a)/sizeof(int);i++){scanf("%d",&arr_a[i]);}for(i=0;i<sizeof(arr_a)/sizeof(int);i++){arr_b[i]=arr_a[i]%10;}for(i=0;i<sizeof(arr_a)/sizeof(int);i++){printf("arr_a[%d]=%d\t",i,arr_a[i]);}printf("\n");for(i=0;i<sizeof(arr_a)/sizeof(int);i++){printf("arr_b[%d]=%d\t",i,arr_b[i]);}printf("\n");return 0;
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/90653.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

el-select 使用

案例&#xff1a; /* * label : 界面上展示的是哪个字段,我这里需要展示名称 * value : 绑定的字段&#xff0c;一般是id */<el-selectv-model"Form.BillNumber"placeholder"请选择"change"changeValue($event)"><el-optionv-for"…

43、基于 springboot 自动配置的 spring mvc 错误处理,就是演示项目报错后,跳转到自定义的错误页面

Spring MVC 的错误处理&#xff1a;基于 SpringBoot 自动配置之后的 Spring MVC 错误处理。 就是访问方法时出错&#xff0c;然后弄个自定义的错误页面进行显示。 ★ 两种错误处理方式 方式一&#xff1a; 基于Spring Boot自动配置的错误处理方式&#xff0c;只要通过属性文件…

我是如何成为一名全栈工程师的?

经历了将近一年的时间&#xff0c;我终于阶段性地完成了从iOS开发到后端开发的角色转变。 现在我可以自豪地说&#xff0c;我已经接近一名全栈工程师了&#xff0c;已经熟悉了后端开发的各种工具、环境和一些后端工作的方式。 接下来&#xff0c;我将继续熟悉框架、工具、语言…

Pytorch学习:神经网络模块torch.nn.Module和torch.nn.Sequential

文章目录 1. torch.nn.Module1.1 add_module&#xff08;name&#xff0c;module&#xff09;1.2 apply(fn)1.3 cpu()1.4 cuda(deviceNone)1.5 train()1.6 eval()1.7 state_dict() 2. torch.nn.Sequential2.1 append 3. torch.nn.functional.conv2d 1. torch.nn.Module 官方文档…

MySQL 特殊语法时间格式以及Greadb连接

一、时间语法 DATE_FORMAT和to_char() select to_char(now(),%Y-%m-%d %H:%i:%s) from dual; select DATE_FORMAT(now(),%Y-%m-%d %H:%i:%s) from dual; 2.to_date() 和STR_TO_DATE(#{date},%Y-%m-%d ) select to_date(now(),yyyy-mm-dd hh24:mi:ss) from dual;

Shell 脚本入门

目录 一、Shell是什么 1.1 我们为什么要学习Shell和使用Shell&#xff1f; 1.2 Shell的分类有哪些&#xff1f; 二、Shell脚本入门知识 2.1 Shell文件命名规范 2.2 Shell解析器 2.3 用Shell 编写hello World 三、Shell的四种变量类型 3.1 系统预定义变量 3.2 自定义变…

CNN(六):ResNeXt-50实战

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊|接辅导、项目定制 ResNeXt是有何凯明团队在2017年CVPR会议上提出来的新型图像分类网络。它是ResNet的升级版&#xff0c;在ResNet的基础上&#xff0c;引入了ca…

入门vue——创建vue脚手架项目 以及 用tomcat和nginx分别部署vue项目(vue2)

入门vue——创建vue脚手架项目 以及 用tomcat和nginx分别部署vue项目&#xff08;vue2&#xff09; 1. 安装npm2. 安装 Vue CLI3. 创建 vue_demo1 项目&#xff08;官网&#xff09;3.1 创建 vue_demo1 项目3.1.1 创建项目3.1.2 解决 sudo 问题 3.2 查看创建的 vue_demo1 项目3…

Mysql高阶语句 (一)

一、常用查询 &#xff08;增、删、改、查&#xff09; 对 MySQL 数据库的查询&#xff0c;除了基本的查询外&#xff0c;有时候需要对查询的结果集进行处理。 例如只取 10 条数据、对查询结果进行排序或分组等等 1、按关键字排序 PS:类比于windows 任务管理器 使用 SELECT 语句…

QT基础教程之七Qt消息机制和事件

QT基础教程之七Qt消息机制和事件 事件 事件&#xff08;event&#xff09;是由系统或者 Qt 本身在不同的时刻发出的。当用户按下鼠标、敲下键盘&#xff0c;或者是窗口需要重新绘制的时候&#xff0c;都会发出一个相应的事件。一些事件在对用户操作做出响应时发出&#xff0c…

windows 中pycharm中venv无法激活

1.用管理员身份打开Windows PowerShell 2.进入项目的&#xff1a;venv\Scripts 如&#xff1a;D: (1): cd .\project\venv\Scripts\ (2): 执行命令&#xff1a; Set-ExecutionPolicy RemoteSigned (3): 选择&#xff1a;Y (4): .\activate

小程序隐私保护授权处理方式之弹窗组件

欢迎点击关注-前端面试进阶指南&#xff1a;前端登顶之巅-最全面的前端知识点梳理总结 *分享一个使用比较久的&#x1fa9c; 小程序隐私保护授权弹窗组件 调用wx.getUserProfile进行授权时&#xff0c;返回错误信息&#xff1a;{errMsg: “getUserProfile:fail api scope is…