输出一个整数的每一位。
解:方法一:
#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       请按任意键继续. . .

https://blog.51cto.com/yaoyaolx/1720167