C语言,如何输出每一位数字

#include<stdio.h>intmain(){intA,b,c,d,e,f,g;printf("输入五位的正整数");scanf("%d",&A);b=A/100... #include<stdio.h>
int main()
{
int A,b,c,d,e,f,g;

printf("输入五位的正整数");
scanf("%d",&A);
b=A/10000;
c=A/1000%10;
d=A/100%100%10;
e=A/10%1000%100%10;
f=A%10000%1000&100%10;
printf("万位%d千位%d百位%d十位%d个位%d\n",b,c,d,e,f);
return 0;
}

提问:最后个位数总是输出0
展开
 我来答
风若远去何人留
2017-05-11 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450096
专业C/C++软件开发

向TA提问 私信TA
展开全部

要输出整型数值的每一位数字,关键在于将每一个数字提取出来。

方法有很多,实现方式更是多种多样,以最常见的两种方式举例说明:

一、传统方法,通过除法和模除,取出每一位,并输出。

参考代码如下:

#include<stdio.h>
void output(int n)
{
    int a[10];
    int l=0;
    /*
    循环获取每一位的值,并存到数组a中。
    其中l表示已经获取到的位数。
    由于每次获取的是个位n%10,所以存在数组a中的是各个位数的逆序。
    */
    while(n)
    {
        a[l++] = n%10;
        n/=10;
    }
    //反序输出每一位值。
    while(--l>=0) 
        printf("%d ", a[l]); 
}
int main()
{
    int n;
    scanf("%d",&n);//输入n值。
    output(n);//输出各个位。
    return 0;
}

二、转为字符串,然后输出字符串各个字符。

由于在C语言中,有很多库函数,比如itoa, sprintf等,都可以很方便的将整数转为字符串,而逐位输出字符串各个字节值是很简单的,所以可以通过转为字符串,再输出的方式输出各个位的值。

参考代码:

#include<stdio.h>
void output(int n)
{
    char a[11];
    int i;
    sprintf(a, "%d", n);//转为字符串。
    for(i = 0; a[i]; i++)//遍历字符串。
        printf("%c ", a[i]);//输出各个位值。
}
int main()
{
    int n;
    scanf("%d",&n);//输入n值。
    output(n);//输出各个位。
    return 0;
}
roughting
2015-04-07
知道答主
回答量:14
采纳率:0%
帮助的人:4.6万
展开全部
#include<stdio.h>
int main()
{
int A,b,c,d,e,f,g;

printf("输入五位的正整数");
scanf("%d",&A);
b=A/10000;
c=A/1000%10;
d=A/100%100%10;
e=A/10%1000%100%10;
f=A%10;
printf("万位%d千位%d百位%d十位%d个位%d\n",b,c,d,e,f);
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhang20113015
2015-04-07 · 超过27用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:32.5万
展开全部
个位代码应该改成如下:
f=A-b*10000-c*1000-d*100-e*10
用数字A减去其他位数最后余下个位数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0113ba9
2015-04-07 · TA获得超过470个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:133万
展开全部
b=A/10000;
c=A/1000%10;
d=A/100%10;
e=A/10%10;
f=A%10;

这样就好了吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友dcf4b30
2015-04-07 · 超过20用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:36.3万
展开全部
f=A%10000%1000&100%10; 其中 & 的问题
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式