我哪里错了?
2024-05-26 18:47:00
发布于:广东
19阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int digit(long long x,int y)
{
const int N=1000;
int a[N];
int x1=x,number=0;
while(x1>10)
{
a[number]=x1%10;
x1=x1/10;
number++;
}
a[number]=x1;
int k=0;
for(int i=0;i<1000;i++)
{
if(a[i]==0)
{
break;
}
else
{
k++;
}
}
int g=0;
for(int i=k;k>=0;i--)
{
if(g==y)
{
cout<<a[i];
return 0;
}
else
{
g++;
}
}
}
int main()
{
long long x,y;
cin>>x>>y;
int sum=digit(x,y);
}
全部评论 4
当然,如果你用字符串存数字的话,就直接通过索引截取就可以了(更方便一点)
2024-05-27 来自 新加坡
0额?
2024-05-27 来自 广东
0
你这个逻辑稍微有些问题,求从右往左数第i位,本质上就是求这个数n除以pow(10, i-1)对于10取模的结果。
2024-05-27 来自 新加坡
0参考这个链接:https://www.yuque.com/marcowang/tgcv6l/mficaogbs6chq6y9?singleDoc# 《【解答】A319.digit函数》
2024-05-27 来自 新加坡
0求助1
2024-05-26 来自 广东
0
有帮助,赞一个