体重指数 = 体重 (kg) / ( 身高 (m) × 身高 (m) ),小于 18.5 属于偏瘦,介于 18.5 和 20.9 之间(左闭右开)属于苗条,介于 20.9 和 24.9 之间(左闭右闭)属于适中,超过 24.9 属于偏胖。 请你编写一个 Shell 程序,输入某人的身高和体重,计算这个人的体重指数并判断这个人的身材状态(偏瘦、苗条、适中、偏胖)。 输入:某人的身高(m)和用户的体重(kg),中间使用空格隔开 输出:该人的身材状态(偏瘦、苗条、偏胖)
1.75 62.5
苗条
1.5 40
偏瘦
1.85 80
适中
考点:Shell 文本处理
限制 1 秒 / 256MB | Shell 脚本题
本题是 Shell 文本处理题:给定一个文本文件 nowcoder.txt,要求用 shell 命令完成指定的文本变换或统计。
建议步骤
NR>1 跳过)。awk,逐行变换用 while read,简单替换用 sed,筛选行用 grep。常用命令速查
awk '{print $1, $2}' nowcoder.txtawk 'NR>1{...}'sed 's/old/new/g'grep -n "pattern"awk '{for(i=1;i<=NF;i++) if(length($i)>5) print $i}'awk '{for(i=1;i<=NF;i++) a[i]=a[i]" "$i} END{for(i=1;i<=NF;i++) print a[i]}'sed -E 's/([0-9]{3})[0-9]{4}([0-9]{4})/****/g'易错点
cut -d" " 会切出空字段,改用 awk 更稳。g,只替换了每行的第一处。解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2024年春招-京东-技术通用岗位-第三批笔试。