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

#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);
}
这是我自己写的,结果不行,能告诉错哪里了吗?全错请给正确答案...刚学几节课....

    首先输入的是一个四位数字n,所以要先定义一个变量

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

    具体的编程如下:


    #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);

    }


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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-13
你定义的变量f是int型的,在输入的时候要用%d,把scanf里的%f改成%d试试追问

不行....

本回答被提问者采纳
相似回答