输入一个5位整数,分解出它的每位数字,并将这些数字间隔3个‘-‘的形式打印出来。

输入一个5位整数,分解出它的每位数字,并将这些数字间隔3个'-'的形式打印出来。

输入只有一行,该行只有一个五位整数。

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a;
    while(scanf("%d",&a)!=EOF)
    if(a==0)
    {
        break;
    }
    else
    {
        printf("%d---%d---%d---%d---%d\n",a/10000,(a%10000)/1000,(a%1000)/100,(a%100)/10,(a%10));
        
    }
    return 0;

 } 

什么是while((scanf("%d",&a))!=EOF)

首先先来逐层分析一下while((scanf("%d",&a))!=EOF)

用这种循环的写法,可以解决一些需要循环到文件结束(也即文件不结束就循环)的问题。

我们先来看下这个句子,while((scanf("%d",&a))!=EOF)

逐层分析:

最外层:

是我们熟悉的while循环的一部分,

while循环:while(表达式){循环体}中的while(表达式)

内层(从左到右):

1.scanf()函数语句

附:scanf()是C语言中的一个输入函数。与printf函数一样,都被声明在头文件(stdio.h)里,因此在使用scanf函数时要加上#include 。它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。(参考:百度百科)

2."!="C语言中的运算符号,意为"不等于"。

3.EOF,是一个计算机术语,全称为"End Of File",也就是文件结束符

附:在C语言在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以[字符]的[ASCII]代码值的形式存放。我们知道,[ASCII代码值]的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。(参考:百度百科)

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Sure, 我可以帮你解答这个问题。以下是代码: ```python num = input("请输入一个5整数:") for i, digit in enumerate(num): if i == 4: print(f"{digit}") else: print(f"{digit}-", end="") ``` 你可以将这段代码复制粘贴到 Python 编辑器中进行运行。 ### 回答2: 可以使用以下Python代码实现: ```python num = int(input("请输入一个5整数:")) # 分解每位数字 digit1 = num // 10000 digit2 = (num // 1000) % 10 digit3 = (num // 100) % 10 digit4 = (num // 10) % 10 digit5 = num % 10 # 打印每位数字间隔3个'-' result = "-".join(str(digit1) + str(digit2) + str(digit3) + str(digit4) + str(digit5)) print(result) ``` 这段代码首先使用`input`函数获取用户输入的5整数,并将其转换为`int`类型。 接下来,通过使用整除和取余运算,可以分别提取这个整数每位数字。 最后,将每位数字转换为字符串类型,并使用`join`函数将它们以3个'-'的形式连接起来,然后打印结果。 ### 回答3: 可以通过以下Python代码实现: ```python num = input("请输入一个5整数:") digits = [] # 用来存储每个数上的数字 for i in range(5): digits.append(num[i]) # 将每个数上的数字添加到列表中 print("-".join(digits)) # 以'-'作为间隔符,将列表中的数字连接起来并打印来 ``` 运行程序后,用户需要输入一个5整数,然后程序会将每个数上的数字分割,并以间隔3个'-'的形式打印来。 例如,用户输入整数12345,则会打印:1-2-3-4-5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浅浅摆烂一下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值