首页 > 试题广场 >

整数的个位

[编程题]整数的个位
  • 热度指数:42798 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}给定一个整数 a,求该整数的个位数字,定义为该整数绝对值对 10 取余的结果。

输入描述:
\hspace{15pt}在一行中输入一个整数 a \left(0 \leq a \leq 10^4\right)


输出描述:
\hspace{15pt}输出一个整数,表示 a 的个位数字。
示例1

输入

114

输出

4

备注:
本题已于下方时间节点更新,请注意题解时效性:
1. 2025-06-03 优化题面文本与格式,修改数据范围为 -10^9 \leq a \leq 10^9
2. 2025-11-07 优化题面文本与格式,修改数据范围为 0 \leq a \leq 10^4。备注:因为本题的定义为新手入门题,原数据范围强制需要绝对值函数,脱离了入门打卡的初衷,因此恢复了原数据范围。
#include <stdio.h>

int main() {
    int a=0;
    scanf("%d",&a);
    printf("%d",a%10);
    return 0;
}

编辑于 2024-01-07 19:52:52 回复(0)
#include <stdio.h>

int test(int x)
{
    if (x> 10)
    {
        x = x % 10;
        test(x);
    }
    return x ;

}
int main()
{
    int a=0;
    while (scanf("%d", &a) != -1)
    {
        a=test(a);
        printf("%d", a);
    }
    return 0;
}
//使用递归来实现的
发表于 2023-10-15 19:17:06 回复(3)
#include <stdio.h>

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

    return 0;
}

直接取余,得到个位,不用判断。
发表于 2023-10-14 14:56:59 回复(3)
#include <iostream>
using namespace std;

int main() {
    int a;
    cin >> a;
    cout << (a>0?a:-a)%10 << endl;
}
// 64 位输出请用 printf("%lld")
发表于 2025-12-06 10:37:42 回复(0)
a=int(input())
x=str(a)
s=int(x[-1])
print(s)
发表于 2024-08-24 12:18:43 回复(0)
#include <stdio.h>

int main()
{
    int a = 0;
    scanf("%d", &a);
    printf("%d", a%10);//a➗10的余数
    return 0;
}

编辑于 2024-01-23 20:05:59 回复(0)
a=input()
print(a[-1])
发表于 2022-03-24 17:25:37 回复(0)
x=input()
z=int(x)%10
print(z)
发表于 2025-12-22 20:33:24 回复(0)
#include <math.h>
#include <stdio.h>

int main() {
    int a, c;
    double b;

    scanf("%d", &a);
    b = (int)floor( (1.0 * a)  / 10);
    c = a - (b * 10);
    
    printf("%d\n", c);
    return 0;
}

通法
发表于 2025-12-22 16:44:16 回复(0)
a = input()
b = []
for i in a:
    b.append(i)
print(b[-1])
发表于 2025-12-18 15:23:45 回复(0)
a = int(input())
if 0<=a<=10**4 :
    x = a % 10
    print(x)
发表于 2025-12-16 17:12:37 回复(0)
a = abs(int(input()))
print(a%10)
发表于 2025-12-04 15:30:20 回复(0)
#include <stdio.h>

int main() {
   int a;
   scanf("%d",&a);
   printf("%d",a%10);
   return 0;
}
发表于 2025-11-29 17:00:16 回复(0)
题目有点问题啊,明明需要判断正负、拨乱反正,但是限定了时间导致提交不成功...必须删掉判断才能正常通过
发表于 2025-11-04 00:52:17 回复(1)
#include <stdio.h>

int main()
 {
   int a;
   scanf("%d",&a);
   if(a>=0)
{
    if(a<=9)
    printf("%d",a);
    else
     printf("%d",a%10);
}
   else
    {if(a>=-9)
    printf("%d",-a);
    else
     printf("%d",(-a)%10);
   
   }

    return 0;
 }
发表于 2025-11-03 16:21:08 回复(0)
#include <iostream>
using namespace std;

int main() {
    int a;
    cin>>a;
    if(a<0)
    {
        a-=2*a;
    }
    int b=a%10;
    cout<<b;
}

发表于 2025-10-30 16:31:43 回复(0)
要求用绝对值,怎么办
发表于 2025-10-29 17:20:18 回复(0)
#include <stdio.h>

int main() {
    int a, b;
    scanf("%d",&a);
    b = abs(a)%10;
    printf("%d",b);
    return 0;
}
发表于 2025-10-23 16:22:16 回复(0)
using System;

public class Program {
    public static void Main() {
        int a = int.Parse(Console.ReadLine());
        int result = Math.Abs(a) % 10;
        Console.WriteLine(result);
    }
}
发表于 2025-10-19 17:23:17 回复(0)
a =  int(input())

print(abs(a) % 10)
发表于 2025-10-14 11:02:32 回复(0)