c语言输入一个整数怎么分别输出它的每位上的数字

发布网友 发布时间:2022-04-23 17:43

我来回答

5个回答

热心网友 时间:2022-05-02 02:52

可以通过除法运算符( / )和求余运算符( % )结合循环来实现分别输出一个整数的每位数字。


具体实现方法可以参考如下程序及注释说明:

#include<stdio.h>
void main()
{
    int data;
    int temp;
    printf("请输入一个整数:"); 
    scanf("%d", &data);  // 接收用户输入的整数,并赋值给变量data
    printf("%d从最低位到最高位分别为:", data);
    while(data>0)  // 当data=0或小于0时,退出循环,此时所以位数都已取出
    {
        temp = data % 10;   // 取出data的最低位
        printf("%d ", temp); // 输出最低位
        data /= 10;  // 将去掉data的最低位,次低位变为最低位
    }
}

热心网友 时间:2022-05-02 04:10

#include "stdio.h"
void main()
{
int a[10],n,i=0;
printf("请输入一个数:");
scanf("%d",&n);
while(n!=0)
{
a[i++]=n%10;
n/=10;
}
for(i--;i>=0;i--)
printf("%d ",a[i]);

}

热心网友 时间:2022-05-02 05:44

#include<stdio.h>
void main()
{
int a;
printf("\nEnter a data:");
scanf("%d",&a);
void fun(int );

fun(a);
}
void fun(int n)
{
int b[10],m;
for(m=0;n!=0;m++)
{
b[m]=n%10;
n=n/10;
}
for(m=m-1;m>=0;m--)
printf("%d ",b[m]);
printf("a;lfjkds ");

}

//也直接数字按字符格式输入
#include<stdio.h>
void main()
{
char a[80];
printf("\nEnter a data:");
gets(a);
void fun(char * );

fun(a);
}
void fun(char *a)
{
int n;
for(n=0;a[n]!='\0';n++)
printf("%3c",a[n]);
}

热心网友 时间:2022-05-02 07:36

经过测试发现你的程序没有你说的问题,输入3位数时工作正常。

热心网友 时间:2022-05-02 09:44

#include
<stdio.h>
void
prt(int
n)
{
if(n>10)
prt(n/10);
printf("%d\t",n%10);
}
int
main(void)
{
int
a=4567;
prt(a);
return
0;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com