当前位置: 首页 > news >正文

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

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.lryc.cn/news/147319.html

相关文章:

  • Docker一键部署Nacos
  • 【数学建模】-- 模糊综合评价
  • Java 数据库改了一个字段, 前端传值后端接收为null问题解决
  • lnmp架构-mysql1
  • Threadlocal在项目中的应用
  • 个性化定制你的AI助手,AI指令提示词专家
  • mongodb聚合排序的一个巨坑
  • 无涯教程-分类算法 - 随机森林
  • c#常见的排序算法
  • Redis 持久化和发布订阅
  • k8s使用ECK(2.4)形式部署elasticsearch+kibana-http协议
  • [maven]关于pom文件中的<relativePath>标签
  • 11. 网络模型保存与读取
  • 新SDK平台下载开源全志V853的SDK
  • 多图详解VSCode搭建Java开发环境
  • 基于JavaWeb和mysql实现网上书城前后端管理系统(源码+数据库+开题报告+论文+答辩技巧+项目功能文档说明+项目运行指导)
  • Swift创建单例
  • 问道管理:市盈率怎么计算?
  • Ansible File模块,Ansible File模块详解,文件管理的自动化利器
  • 记录http与mqtt的区别
  • 导入excel数据给前端Echarts实现中国地图-类似热力图可视化
  • 【MySQL系列】MySQL复合查询的学习 _ 多表查询 | 自连接 | 子查询 | 合并查询
  • 微信小程序使用本地图片在真机预览不显示的问题解决
  • Texlive2023与Texstudio2023卸载与安装(详细全程)
  • 塞浦路斯公司注册 塞浦路斯公司开户 塞浦路斯公司年审
  • XSS盲打练习(简单认识反射型、存储型XSS和cookie欺骗)
  • Shell脚本:基础知识和使用指南
  • Resource Hacker下载
  • Kubernetes入门 十、HPA 自动扩/缩容
  • Django报错:SystemCheckError: System check identified some issues解决办法