首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用于打印负数的给定num.In情况的位数和的shell脚本作为输入,将非正数显示为o/p

对于给定的num.In情况的位数和的shell脚本作为输入,将非正数显示为o/p,可以使用以下的shell脚本来实现:

代码语言:txt
复制
#!/bin/bash

# 获取输入的数字
read -p "请输入一个数字: " num

# 判断数字是否为负数
if [ $num -lt 0 ]; then
  # 将负数转换为正数
  num=$((num * -1))
fi

# 计算数字的位数和
sum=0
while [ $num -gt 0 ]; do
  digit=$((num % 10))
  sum=$((sum + digit))
  num=$((num / 10))
done

# 输出结果
echo "位数和为: $sum"

这个shell脚本首先会获取用户输入的数字,然后判断数字是否为负数。如果是负数,则将其转换为正数。接下来,使用循环计算数字的位数和,将每一位的数字相加。最后,输出位数和的结果。

这个脚本可以通过以下命令运行:

代码语言:txt
复制
bash script.sh

对于非正数的情况,输出结果将为0,即"位数和为: 0"。

这个脚本没有直接提及腾讯云的相关产品,因为与该问题的解决方案没有直接关联。如果您有其他关于云计算、IT互联网领域的问题,我将很乐意为您提供更多相关信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Bash Printf 命令

下面是一个列表,显示各种类型转换符,以及他们作用: %b - 参数中支持反斜杠转义字符转义以后再打印 %q - 参数按可以作为shell输入重用格式打印 %d, %i - 参数按有符号十进制整数打印...%u - 参数按无符号数打印 %o - 参数按无符号八进制数打印 %x, %X - 参数按无符号十六进制数打印 %e, %E - 参数按double解释,并以科学计数法形式打印。...下面是通用情况: - - 左对齐文本。默认情况下,文本是右对齐。 + - 在数字前面添加+或者-号。默认情况下,仅仅负数前面加上-号。...0 - 空白处补0 空白 - 在正数负数前面补充空格 # - 数字格式 3.3 宽度指令 width指令被放置在任何符号字母前面,用来指定转换结果宽度。 如果输出结果宽度小于指定宽度,补充空格。...输出文本至少10个字符: 0000000005 3.4 精度指令 精度修饰符.加上一个正数或者星号。 精度有以下作用: 如果转换类型整数,精度就是打印数字最小位数

4.2K10

万字长文,史上最全Python字符串格式化讲解

负数加负号; 2) -: 左对齐,正数无符号,负数加负号; 3) 空格: 右对齐(默认对齐方式),正数前加空格,负数前加负号; 4) 0: 右对齐,以0填充,正数无符号,负数加负号...,仅对数字类型有效; (4) sign: 有无符号,可选: 1) +: 正数加正号,负数加负号; 2) -: 正数不变,负数加负号(默认); 3) 空格: 正数加空格,...浮点型表示小数点"后"显示多少位小数位数; c. 以g或G格式化表示在小数点"前后"共显示多少个数位; d....但是,实际上,g与f, e这两种模式还有一些区别,详见如下: (1) 给定精度 对于给定精度 p >= 1,会将数值舍入到p个有效数位,再将结果以小数或科学计数法进行格式化,精度0会被视为等价于精度1...虽然Decimal可以处理此类问题,但是经过测试,Decimal并不使用于%格式化。传入Decimal直接传入浮点数结果一致,并无任何区别。

4.6K20
  • Python学习:输入与输出教程

    sign 选项仅对数字类型有效,可以是以下之一:选项含意'+'表示标志应该用于正数负数。'-'表示标志应仅用于负数(这是默认行为)。...输出以 2 基数数字。'c'字符。在打印之前整数转换为相应unicode字符。'd'十进制整数。 输出以 10 基数数字。'o'八进制格式。 输出以 8 基数数字。'...对于一个给定精度 p数字格式化为以字母 'e' 分隔系数指数科学计数法形式。 系数在小数点之前有一位,之后有 p 位,总计 p + 1 个有效数位。...与 'e' 相似,不同之处在于它使用大写字母 'E' 作为分隔字符。'f'定点表示法。 对于一个给定精度 p数字格式化为在小数点之后恰好有 p小数形式。...数字乘以 100 并显示定点 ('f') 格式,后面带一个百分号。

    92610

    江哥带你玩转C语言 | 05-printf scanf 函数

    (默认用空格填充) 空格 输出值正数时,在输出值前面加上空格, 负数时加上负号 # 对c、s、d、u类型无影响 # 对o类型, 在输出时加前缀o # 对x类型,在输出时加前缀0x #include...开头, 后面跟上十进制整数, 用于指定需要输出多少位小数, 如果输出位数大于指定精度, 则删除超出部分 #include int main(){ double a = 3.1415926...(保留多少位)不同, 有效位数是指从第一个零数字开始,误差不超过本数位半个单位、精确可信数位 有效位数包含小数点前零数位 #include int main(){...", &number); printf("number = %d\n", number); } 接收多条数据 格式控制字符串地址列表项在数量类型上必须一一对应 字符字符串情况下如果没有指定多条数据分隔符..., 可以使用空格或者回车作为分隔符(不推荐这种写法) 字符字符串情况下建议明确指定多条数据之间分隔符 #include int main(){ int number;

    1.2K00

    python字符串格式化深入详解(四种方法)

    '一个空格,表示在正数左侧填充一个空格,从而与负数对齐。0表示左侧使用0填充。...(-),正数前加正号(+) - 负数前加负号(-),正数前不加任何符号(默认) (空格) 负数前加负号(-),正数前加一个空格 注:仅适用于数值类型。...0X (5)宽度与精度 宽度与精度相关格式描述符 整数 width 指定宽度 注1:0width 不可用于复数类型数值类型,width.precision 不可用于整数类型。...注2:width.precision 用于不同格式类型浮点数、复数时含义也不同:用于 f、F、e、E % 时 precision 指定是小数点后位数用于 g G 时 precision...E 浮点数、复数、整数(自动转换为浮点数) % 百分比格式,数字自动乘上100后按 f 格式排版,并加 % 后缀 浮点数、整数(自动转换为浮点数) 常用特殊格式类型:标准库 datetime 给定用于排版时间信息格式类型

    2.8K20

    Shell脚本常用命令一览

    -s: 用于从标准输入中读取命令,接收命令参数在子shell中执行; 使用案例: #示例1.使用-x选项跟踪脚本调试shell脚本,能打印出所执行每一行命令以及当前状态: sh -x check_ssh_login.sh...或-/.profile,缺省情况下,bash作为登录shell时以这些文件作为启动文件 --rcfile文件名:如果bash是交互,则以此文件作为bash启动文件替代-/.bashrc --login...set命令中也能实现调试 bash -n database.sh    #示例2.执行脚本,输出执行过程,shell脚本自身已经包含了调式选项,能都打印脚本接受参数输入 bash -x database.sh...basename 命令 - 取得路径文件名称 描述:用于打印目录或者文件基本名称,basenamedirname命令通常用于shell脚本命令替换来指定指定输入文件名称有所差异输出文件名称....c`.o #重新拼接program.o文件 dirname 命令 - 取得目录名称 描述:去除文件名中目录部分,仅显示与目录有关内容,dirname命令读取指定路径名保留最后一个/及其后面的字符

    1.3K10

    Shell脚本常用命令一览

    -s: 用于从标准输入中读取命令,接收命令参数在子shell中执行; 使用案例: #示例1.使用-x选项跟踪脚本调试shell脚本,能打印出所执行每一行命令以及当前状态: sh -x check_ssh_login.sh...或-/.profile,缺省情况下,bash作为登录shell时以这些文件作为启动文件 --rcfile文件名:如果bash是交互,则以此文件作为bash启动文件替代-/.bashrc --login...脚本自身已经包含了调式选项,能都打印脚本接受参数输入 bash -x database.sh  #-x 选项是打印所有行信息 sh -x script.sh #使用-x选项跟踪脚本调试shell...basename 命令 描述:用于打印目录或者文件基本名称,basenamedirname命令通常用于shell脚本命令替换来指定指定输入文件名称有所差异输出文件名称。....c`.o #重新拼接program.o文件 dirname 命令 描述:去除文件名中目录部分,仅显示与目录有关内容,dirname命令读取指定路径名保留最后一个/及其后面的字符,删除其他部分

    2K41

    Shell特殊字符

    作为命令解释型脚本语言,它交互式解释执行用户输入命令或者自动地解释执行预先设定好一连串命令;作为程序设计语言,它预定义了各种环境变量,保留了一些关键字以及一些特殊字符含义,并提供了许多在高级语言中才具有的控制结构...8 * 作为匹配文件名扩展一个通配符,能自动匹配给定目录下每一个文件。 9 ~ 波浪号(Home directory[tilde]),这个shell环境变量$HOME是一样。...若num正数,从左边0处开始;若num负数,从右边开始提取字串,但必须使用在冒号后面加空格或一个表达式或整个num加上括号,如${var: -2}、${var:1-4}或${var:(-2)} a=...一般用于函数定义时表明函数体。 66 <<< 三个小于号,作用就是后面的内容作为前面命令标准输入。.../bin/bash; . data-file#包含data-file;2.作为文件名一部分,在文件名开头,表示该文件隐藏文件,ls一般不显示出来(ls -a 可以显示);3.作为目录名,一个点代表当前目录

    5.2K10

    C语言中基本输入输出

    格式字符串在输出时候原样打印;格式字符串是以%打头字符串,在”%”后面跟不同格式字符,用来说明输出数据类型、形式、长度、小数位数等。...具体说,如果转换说明符%*d,那么参数列表中应该包括一个*一个d值,来控制宽度变量值。该技术也可以浮点值一起使用来指定精度字段宽度。...Scanf函数调用一般形式: scanf(“格式控制字符串”,输入项地址列表); 其中,格式控制字符串作用与printf函数相同,但不能显示格式字符串,也就是不能显示提示字符串。...A是C99标准) %i 把输入解释成一个有符号十进制整数 %o输入解释成一个有符号八进制整数 %p输入解释成一个指针(一个地址) %s 把输入解释成一个字符串:输入内容以第一个空白字符作为开始...如果它没有读取任何项目(比如它期望接收一个数字而您却输入一个数字字符时就会发生这种情况),scanf()返回0。

    3.8K90

    Shell编程学习笔记

    |tee 1.log 替换命令:tr [-ds] //文件中所有小写字母转换为大写字母 cat filename|tr '[a-z]' '[A-Z]' 标准输入作为命令参数:xargs //执行结果作为一行输出...t(与-E一起使用) 匹配一个或者多个字符:ro+t(与-E一起使用) 贪婪模式,匹配所有:.* sed 查找替换 //打印第一行 sed '1p' -n 1.txt //打印第五行到最后一行,并显示行号.../bin/bash 注释符号:# 查看脚本执行过程,用于调试使用:bash/sh -x filename date //获取当前时间年份,2017 date +%Y //获取当前时间年份,最后两位,...) 声明变量:export MY_HOME=/home/user(可以在子shell中使用) 系统变量:/etc/profile /etc/bashrc 用户变量:~/.bashrc ~/....:read -p “请输入一个数字:” n 内置变量(保存读取输入数据):$REPLAY 获取变量参数 获取当前脚本文件名:$0 获取参数:$n(n表示第几个参数) 获取参数个数:$# 获取所有参数

    52520

    Python格式化字符串f-string概览

    (数值默认对齐方式) ^ 居中 数字符号相关格式描述符 格式描述符 含义与作用 + 负数前加负号(-),正数前加正号(+) - 负数前加负号(-),正数前不加任何符号(默认) (空格) 负数前加负号(...-),正数前加一个空格 注:仅适用于数值类型。...整数 width 指定宽度,整数 precision 指定显示精度 注1:0width 不可用于复数类型数值类型,width.precision 不可用于整数类型。...注2:width.precision 用于不同格式类型浮点数、复数时含义也不同:用于 f、F、e、E % 时 precision 指定是小数点后位数用于 g G 时 precision...E 浮点数、复数、整数(自动转换为浮点数) % 百分比格式,数字自动乘上100后按 f 格式排版,并加 % 后缀 浮点数、整数(自动转换为浮点数) 常用特殊格式类型:标准库 datetime 给定用于排版时间信息格式类型

    81020

    【力扣算法11】之 8. 字符串转换整数 (atoi) python

    代码分析 读入字符串并丢弃无用前导空格:使用 strip() 函数去除字符串前后空格,处理后结果重新赋值给变量 s。这样可以消除输入字符串头部尾部空格。...strip() 方法用于移除字符串中指定字符,默认为空格。 sign = 1: 初始化符号变量正号。符号用于表示最终整数是正数还是负数。...无论第一个字符是 + 还是 -,都需要去除字符串中符号部分,所以字符串 s 更新去除了第一个字符子串。 result = 0: 初始化用于记录最终结果变量。默认情况下,结果0。...result = sign * result: 根据符号变量 sign 确定最终结果正负。如果 sign 1,则结果正数;如果 sign -1,则结果负数。...else:: 如果结果没有溢出,返回计算得到结果作为最终结果。 这个代码段用于给定字符串 s 转换为整数。它处理了输入字符串空格、符号数字字符,以及整数溢出情况,并返回相应结果。

    15310

    定义一个函数,在该函数中可以实现任意两个整数加法。java实现

    这道题实际上是一道面试题拓展,原题是要求打印1到最大n位数。原题是这样描述输入数字n,按顺序打印出1到最大n位十进制数。...比如输入3,则打印出1,2,3,4,5一直到最大位数999。拿到这道题之后,对于没有大数经验面试者估计立马就想到了一种简单解法。首先求出这个最大n位数,然后来一个for循环从1开始逐个打印。...当两个整数都是正数时候直接相加结果正数,同为负数时候取两者绝对值相加然后在结果前加一个负号。...假若是一正一负,则用两者绝对值相减,用绝对值大数减去绝对值小数,当正数绝对值大时候相减结果正数,当负数绝对值大时候相减结果负数,结果负数时在相减结果前加一个负号即可。...一正一负 2.同时正或同时负数 // 对于第一种情况取绝对值做减法运算,如果负数绝对值更大则结果是负数,否则结果正数 // 对于第二种情况 直接做加法运算 同为正数 结果则为正数 否则结果负数

    1.9K20

    开篇:预备知识-3

    即为在 01000001 前面补齐了 56 个 0 位,这一点 int 类型类似,给定二进制编码数据长度不满足数据类型所占用位数,则会在左边补齐 0 。...对于无符号数来说,只有两个极点值:负数最大值负数最小值,并且这两个极点值是相邻。...负数最小值是这个,那么对应正数最大值自然是 s 符号位值改为 0 时候了,对应正数最大值3.4028234663852886e+38。...负数最小值是这个,那么对应正数最大值自然是 s 符号位值改为 0 时候了,对应正数最大值 1.7976931348623157e+308。...溢出是一个异常事件,我们在进行程序设计时,应当对输入数据最大值最小值有一个充分预估,以避免溢出这种异常情况产生。

    67320

    Oracle number类型语法用法

    Oracle number类型语法用法 摘要:先根据精度值,对number类型数据从左边第一个零数字开始数精度值个位数,之后位数截断不要(要四舍五入吗),再根据小数位置值,对number类型数据右边低位进行四舍五入...因此,当刻度s负数时,存入数据类型number(p,s)最终值都是整数形式,无论你输入是否带有小数。...简而言之, 当刻度s正数时,小数点左边最大位数p-s,无论此时输入数值小数点右边位数是否达到s或说这与输入数值小数点右边位数多少无关。...当刻度s负数时,小数点左边最大位数p+|s|,且这与输入数值小数点右边位数多少无关。 2、 P只能为正数。 当刻度s正数时, P<s时,写入不了值,提示ora-01438。...当刻度s负数时, P<|S|时, 如果输入数值,其后小数点左边位数不大于|S|,且最高位数字小于5,则存储最终值都为0。

    2.1K20

    less(1) command

    N 可以是正数(1 屏幕第一行,2 屏幕第二行),也可以是负数(-1 屏幕倒数第一行,-2 屏幕倒数第二行),还可以是分数(.5 屏幕中间行,.3 屏幕十分之三行) -kFILE or --...,但它适用于方括号而不是花括号 ] 类似 } 命令,但它适用于方括号而不是花括号 ESC-^F 后跟两个字符,作用类似于 {,但分别使用这两个字符作为开括号闭括号。...例如,ESC-^F 可用于向前移动到与顶行 ESC-^B 后跟两个字符,作用类似于 },但分别使用这两个字符作为开括号闭括号。...n 检查下 N 个文件(从命令行中给定文件列表);N 默认为 1,可以在键入命令前输入 N :p 检查前 N 个文件(从命令行中给定文件列表);N 默认为 1,可以在键入命令前输入 N :x...shell-command 执行 Shell 命令 | shell-command 当前屏幕第一行到 指定位置作为管道内容传送给 Shell 命令。

    22930

    Shell 流程控制深入解析

    流程控制使用Shell编程时,流程控制是非常重要,它允许你根据条件执行不同命令或者控制程序执行流程。Shell支持一些基本流程控制结构,包括条件语句循环语句。.../bin/bashread -p "请输入一个数字: " numif [ $num -eq 0 ]; then echo "输入数字是零"elif [ $num -gt 0 ]; then...echo "输入数字是正数"else echo "输入数字是负数"fi循环语句for循环for 变量 in 列表; do # 循环体内命令done示例:#!...脚本中需要多次执行相同代码块时,你可以使用函数来封装这些代码,以便更容易地管理重用它们。...3、在函数体内,我们使用echo命令来打印一条消息。4、最后,我们在脚本主体部分调用了my_function函数。这会执行函数体内代码,从而打印出相应消息。#!

    10410

    Linux 命令(89)—— less 命令

    N 可以是正数(1 屏幕第一行,2 屏幕第二行),也可以是负数(-1 屏幕倒数第一行,-2 屏幕倒数第二行),还可以是分数(.5 屏幕中间行,.3 屏幕十分之三行) -kFILE or --...,但它适用于方括号而不是花括号 ] 类似 } 命令,但它适用于方括号而不是花括号 ESC-^F 后跟两个字符,作用类似于 {,但分别使用这两个字符作为开括号闭括号。...例如,ESC-^F 可用于向前移动到与顶行 ESC-^B 后跟两个字符,作用类似于 },但分别使用这两个字符作为开括号闭括号。...n 检查下 N 个文件(从命令行中给定文件列表);N 默认为 1,可以在键入命令前输入 N :p 检查前 N 个文件(从命令行中给定文件列表);N 默认为 1,可以在键入命令前输入 N :x...shell-command 执行 Shell 命令 | shell-command 当前屏幕第一行到 指定位置作为管道内容传送给 Shell 命令。

    4.4K30

    Shell脚本

    1 Shell 脚本Shell 脚本是运行在 shell 环境中脚本语言,用于自动执行重复性任务、管理系统配置、以及通过编写脚本运行脚本来执行一系列命令。.../script_file.sh4 读取用户输入read 命令可以从标准输入(stdin)读取用户输入内容。比如输入用户名 weiwendi shell 脚本中 username 变量赋值:#!...variableread -p "Enter the username: " usernameecho $username输入内容将以明文显示在屏幕上,如果不希望显示输入内容,比如密码之类需要保密内容...set -x 类似于调试模式,先打印正在执行命令,然后显示命令输出结果。set -e 当出现零退出代码时,立即退出脚本。在使用管道命令时,例如 sdfdsf | echo 'vish'。...由于该行执行最后一条命令是 echo,而 echo 返回退出代码零,因此整行命令被认为是成功,但之前命令 sdsds 返回零代码,这是错误。要解决这个问题,我们可以使用下面的设置选项。

    17810
    领券