c语言:3种方法实现输出一个整数的每一位。

本文介绍了三种输出整数每一位的方法,包括使用字符数组遍历输出、利用数学运算逐位输出及递归方式输出。每种方法都给出了详细的C语言代码示例,并展示了运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 输出一个整数的每一位。

解:方法一:

#include <stdio.h>

#include <string.h>

int main()

{

    int i, len;

    char num[100];

    printf("请输入一个整数:");

    scanf("%s", num);

    len = strlen(num);

    for (i = 0; i <= len - 1; i++)

    {

     printf("%c\n", num[i]);

    }

if (num[0] != 45)//45表示“-”的ASCII值

{

printf("位数为:%d\n", len);

}

else

{

len=len - 1;

printf("位数为:%d\n", len);

}

return 0;

}

结果1

请输入一个整数:72356

7

2

3

5

6

位数为:5

请按任意键继续. . .

结果2

请输入一个整数:-2378

-

2

3

7

8

位数为:4

请按任意键继续. . .

方法二:

程序:

#include<stdio.h>

int main()

{

int num = 0;

printf("请输入一个非负整数:");

scanf("%d", &num);

while (num)

{

printf("%d\t",num%10);

num /= 10;

}

return 0;

}

结果:

请输入一个非负整数:987

7       8       9       请按任意键继续. . .

方法三:

程序:

#include <stdio.h>

int print(int num)//递归实现

{

if (num > 9)

{

print(num/10);

}

printf("%d\t"num % 10);

}

int main()

{

int num = 0;

printf("请输入一个整数:");

scanf("%d", &num);

print(num);

return 0;

}

结果:

请输入一个整数:87654

8       7       6       5       4       请按任意键继续. . .


本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1720167

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值