输入一个四位数字n,分别求出n的个位数字、十位数字、百位数字和千位数字的值 C语言的

#include<stdio.h>voidmain(){intf,a,b,c,d;printf("请输入一个四位数字n:");scanf("%f",&f);a=(f-(f... #include <stdio.h>
void main()
{
int f,a,b,c,d;
printf("请输入一个四位数字n:");
scanf("%f",&f);
a=(f-(f%1000))/1000;
b=((f%1000)-(f%1000)%100)/100;
c=((f%100)-(f%100)%10)/10;
d=f%10;
printf("千位数是%f\n",a);
printf("百位数是%f\n",b);
printf("十位数是%f\n",c);
printf("个位数是%f\n",d);
}
这是我自己写的,结果不行,能告诉错哪里了吗?全错请给正确答案...刚学几节课....
展开
 我来答
黑马程序员
2017-03-10 · 改变中国IT教育,我们正在行动
黑马程序员
黑马程序员为大学毕业后,有理想、有梦想,想从事IT行业的年轻人改变自己的命运。黑马程序员成就IT黑马
向TA提问
展开全部
  1. 首先输入的是一个四位数字n,所以要先定义一个变量

  2. 然后,根据数学的计算公式,分别输出位数上的数字(这个里面可能比较绕,包括商和余数,只要是这两个概念弄清楚的话,这道题就很简单了)

  3. 具体的编程如下:


    #include <stdio.h>

    void main()

    {

    int n;    //定义一个变量就可以

    printf("请输入一个四位数字n:");

    scanf("%d",&n);   //一定要写成%d,整型变量

    printf("千位数是%d\n",n/1000%10);

    printf("百位数是%d\n",n/100%10);

    printf("十位数是%d\n",n/10%10);

    printf("个位数是%d\n",n%10);

    }


注意事项:这道题主要就是区别商和余数,编程里面称作膜。还有编程中尽可能少定义变量。

719558527
2013-11-13 · TA获得超过110个赞
知道答主
回答量:45
采纳率:0%
帮助的人:37.8万
展开全部
你定义的变量f是int型的,在输入的时候要用%d,把scanf里的%f改成%d试试
追问
不行....
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式