背景
学校的智障作业系统是C98标准,无法使用C11的to_string函数
题目原题如下
同构数是其平方数的尾数等于该数自身的自然数,例如:25*25=625。从键盘输入一个不大于10000的自然数,判断其是否是同构数并按样例格式输出。
事实上,还有一类题目需求可以使用int_to_string函数:
提取用户输入数据的每一位,然后进行后续某种操作
string类型类似于数组,可以采用数据索引
string mystr="1234";
mystr[0]==1;
mystr[1]==2;
//...
这样一来就可以十分简便的提取数据的每一位了
正文
#include <iostream>
#include <string>
#include <algorithm>
#include <sstream>
using namespace std;
string Int_to_String(int n)
{
ostringstream stream;
stream<<n; //n为int类型
return stream.str();
}
int main(){
int num;
cin>>num;
int num2=num*num;
string str= Int_to_String(num);
string str2=Int_to_String(num2);
reverse(str.begin(),str.end());
reverse(str2.begin(),str2.end());
for (int i,j =0;j!=str.length();i++,j++) {
if (str[i]==str2[j]);
else{
cout<<num<<" no,"<<num<<"*"<<num<<"="<<num2;
break;
}
}
cout<<num<<" yes,"<<num<<"*"<<num<<"="<<num2;
return 0;
}
在C98标准下,由于不支持C11的转换函数,本文介绍了如何将整型(int)转换为字符串(string),以适应学校作业系统的需求。通过此方法,可以方便地处理如同构数判断等需要提取每一位数字的操作。文章详细阐述了转换过程和相关算法。

491

被折叠的 条评论
为什么被折叠?



