首页 > 试题广场 >

浮点数的个位数字

[编程题]浮点数的个位数字
  • 热度指数:56631 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个浮点数,要求得到该浮点数的个位数。

数据范围:

输入描述:
一行,包括一个浮点数。


输出描述:
一行,包含一个整数,为输入浮点数对应的个位数。
示例1

输入

13.141

输出

3
#include <stdio.h>

int main()
{
    float a = 0.0f;
    scanf("%f", &a);
    int b = 0;
    int c = (int)a;

    // 不管C是输入的多少数值,只要重复%10得到小于10的个位数就行了
    // 其实还有别的循环方式,因为是新手,我就把想到的这个写出来了。
    for (b = 0; c >= 10; b++)
    {
        c = c % 10;
    }

    printf("%d", c);

    return 0;
}
发表于 2025-05-14 21:18:46 回复(3)
#include <stdio.h>

int main() {
    float a = 0.0f;
    scanf("%f",&a);
    int b = (int)a;//强制类型转换
    printf("%d",b%10);
    return 0;
}

发表于 2024-10-26 10:37:58 回复(2)
#include<stdio.h>
int main()
{
float a;
scanf("%f",&a);
int ge=(int)a%10;//%是整数的取余
printf("%d",ge);
return 0;
}
发表于 2024-10-14 18:00:27 回复(0)
#include <stdio.h>

int main() {
    float a = 0.0f;
    scanf("%f",&a);

    printf("%d",((int)a)%10);

    return 0;
}
发表于 2024-10-10 00:10:17 回复(0)
#include <stdio.h>

int main()
{
    float a = 0.00;

    scanf("%f", &a);

   int b = (int)a;

    while (b%10>= 0)
    {
        if (b % 10< 10)
        {
            printf("%d", b%10);

            return 0;
        }
        b = b % 10;
    }

    return 0;
}

编辑于 2024-03-29 23:33:22 回复(0)
#include <stdio.h>

int main() {
    float a = 0.0;
    int b = 0;
    scanf("%f", &a);
    b = a;
    printf("%d\n", b % 10);
    return 0;
}
编辑于 2024-03-25 18:58:41 回复(0)
#include <stdio.h>

int main() 
{
    float n = 0.0f; //如果是0为整型,0.0为double型,0.0f是浮点型
    //不过一般初始化写成0就好了
    scanf("%f",&n);
    if(n >= 0 && n <= 200)
    {
        //int a = n;  //决断c,把n强制转换为整型
        //int b =a % 10;
        //int a =n %10; //这个是错误的操作符%必须是两个整数才行
        int a =(int)n %10;
        printf("%d",a);
    }
    return 0;
}

编辑于 2024-03-23 18:40:27 回复(1)
#include <stdio.h>

int main(){
    float a;
    int b;
    scanf("%f",&a);
    b = a;
    printf("%d",b%10);
}
发表于 2024-03-12 18:32:07 回复(2)
#include <stdio.h>

int main() 
{
    float a = 0.0f; 

    scanf("%f", &a);

    printf("%d\n", (int)a % 10);

    return 0;
}

编辑于 2024-02-23 12:31:16 回复(2)
#include <stdio.h>

int main() {
    double a = 0.0;
    scanf("%lf",&a);
    printf("%d",(int)a%10);
   

    return 0;
}
编辑于 2024-02-10 20:31:28 回复(0)
#include <stdio.h>

int main() {
    double n;
    int num,n1;
    scanf("%lf",&n);
    n1=(int)n;//强制类型转换
    num=n1%10;//取余出个位数数字
    printf("%d",num);
    return 0;
}

编辑于 2024-02-07 15:59:21 回复(0)
// #include<stdio.h>
// int main(void)
// {
//  float a = 0.0f;
//  float b = 0.0f;
//  scanf("%f", &a);
//  while (a > 0)
//  {
//      if(a > 10)
//      {
//          b = a - 10;
//      if (b < 10)
//      {
//          printf("%d", (int)b);//类型的强制转换
//          break;
//      }
//      a = b;
//      }
//      else
//      {
//          printf("%d",(int)a);
//          break;
//      }
//  }
//  return 0;
// }

#include<stdio.h>
int main(void)
{
    float a = 0.0f;
    int b = 0;
    int c = 0;
    scanf("%f", &a);
    b = (int)a;
    c = b % 10;
    printf("%d", c);

    return 0;
}

发表于 2024-01-27 21:45:52 回复(0)
#include <math.h>
#include <stdio.h>

int main() {
    float c ;
    double a ;
    scanf("%f",&c);
    modf(c, &a);
    int s = a;
    printf("%d", s %10);
    return 0;
}
C 库函数 double modf(double x, double *integer) 返回值为小数部分(小数点后的部分),并设置 integer 为整数部分。
编辑于 2024-01-19 11:33:04 回复(0)
看清楚题目要求,是求个位数的数是啥,不是求小数点后有几位
#include <stdio.h>

int main() {
    float f=0;
    scanf("%f",&f);
    int ge=(int)f;
    if(ge>100)
        printf("%d",ge%100%10);
    else
        printf("%d",ge%10);
    return 0;
}


编辑于 2023-12-19 14:55:49 回复(0)
#include<stdio.h>
int m(float x)
{
    return ((int)x)%10;
}
int main()
{
    int a = 0;
    int sum;
    scanf("%f", &a);
    sum = m(a);
    printf("%d", sum);
    return 0;
}
发表于 2023-11-09 16:41:55 回复(1)
#include <stdio.h>

int main()
{
    float a = 0;
    scanf("%f",&a);
    int b = (int)a % 10;
    printf("%d\n",b);
    return 0;
}

发表于 2023-11-02 21:46:09 回复(0)
#include<stdio.h>
int main()
{
    double n = 0;
    scanf("%lf",&n);
    int k = (int)n;
    if (k > 9) {
        k = k % 10;
    }
    printf("%d", k);
    return 0;
}
发表于 2023-10-22 10:16:46 回复(0)
#include <stdio.h>

int main() {
    float a = 0.f;
    int b = 0;
    scanf("%f", &a);

    b = (int)a%10;
    printf("%d",b);
    return 0;
}
发表于 2023-08-31 13:53:26 回复(0)
在C语言中,对于浮点数类型的操作数,取模(%)运算符是无法直接使用的。取模运算符只能用于整数类型的操作数。
浮点数转换为整数时会丢失小数部分的信息。
库函数 modf(a, &intpart)将浮点数分为整数部分和小数部分,并将整数部分存储在intPart变量中,返回小数部分作为结果。
#include <stdio.h>

int main() {
    float a;
    scanf("%f", &a);
    int temp = (int)a;
    int b = temp % 100 % 10;
    printf("%d"b);
    return 0;
}
发表于 2023-07-10 13:19:13 回复(0)
#include <stdio.h>
int main(){
    float a = 0;
    int b = 0;
    int c = 0;
    scanf("%f", &a);
  	b = (a*10)/10;
  	c = b%10;	
  	printf("%d",c);
    return 0;
}


发表于 2023-06-15 23:04:03 回复(0)

问题信息

上传者:牛客309119号
难度:
48条回答 5073浏览

热门推荐

通过挑战的用户

查看代码
浮点数的个位数字