C语言,键盘输入一个2位以上的任意数,输出这个数的第m位开始,到第n位结束的数。

 我来答
刺任芹O
2022-11-16 · TA获得超过6.2万个赞
知道顶级答主
回答量:38.7万
采纳率:99%
帮助的人:8986万
展开全部

该设计有两个思路,即对数据进行处理分离出各个位数,或将数据直接作为字符串读取进来对字符串进行分割。

1、对数据进行处理

程序及运行结果如下:

程序分析:

该程序读取数据后通过除法运算分离出个位、十位?并依次存放在数组中,在通过循环将所需位数读取进来。程序基本满足要求,但计算量需要进行多次除法,且输入数据受数据类型影响较大,容易出现数据溢出。

2、将数据当成字符串处理

程序及运行结果如下:

程序分析:

该程序读取需要处理的数据时将其作为字符串读入,根据字符串长度及其他必要的数据将需要的字符串子串输出。

比较原程序,处理输入数据值长度增加,不再受数据类型影响,而受字符串长度影响,且将需要进行计算部分简化为地址的调整,优化了系统整体性能,但对于读入数据的真实数据调用较麻烦。

扩展资料

C语言对数据类型比较敏感,且数据类型的相关属性还与编译器有关,实际使用时应注意不同类型的大致范围,避免溢出。对于大数可以通过字符串、结构体或链表来表示和进行处理。

常见基本类型占用空间和数值范围对应较为复杂,可以通过以下思路进行对应:

1、通过调用sizeof(数据类型)读取数据类型占用的空间,该函数返回数值单位是字节。

2、通过字节与Bit的对应了解数据空间占据的位数。

3、通过进制转换即可了解该数据类型表达的数据大小,对于有符号数采用首位存储符号,故存储数据的位数比同类型无符号数少1。

以上可用于熟悉C语言常见数据类型的占用空间和数值范围。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式