把数字转换成字符串,一种写法to_string但编译器不一定支持。
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
#include <stack>
#include <bitset>
#include <cstdlib>
#include <cmath>
#include <set>
#include <list>
#include <deque>
#include <map>
#include <queue>
using namespace std;
typedef long long ll;
int main (){
int i;
string s;
for(i=1;i<=1000;i++){
if (s.size() > 1000) break;
int num = i;
s+= to_string (num);
}
int n;
cin >> n;
cout << s[n-1];
return 0;
}
另外一种写法
include <bits/stdc++.h>
using namespace std;
template<typename T> string toString(const T& t){
ostringstream oss; //创建一个格式化输出流
oss<<t; //把值传递如流中
return oss.str();
}
int main()
{
string str;
int i=1;
string s;
while(1)
{
s=toString(i);
str=str+s;
if(str.length()>=1000)
break;
i++;
}
int n;
scanf("%d",&n);
cout<<str[n-1]<<endl;
return 0;
}