打印所有不超过n(n<256)的,其平方具有对称性质的数。
将结果倒序依次写入一个字符串中,与正序结果比较。
#include <iostream>#include <string>using namespace std;int main(){ int n,x,m; char s[10]; while(1) { cout<<"请输入一个整数:"<<endl; cin>>m; if(m>=256) { cout<<"输入错误!"<<endl; break; } for(int i=1;i<=m;++i) { int j=0; x=i*i; while(x) { n=x%10; s[j++]=n+48;//48就是0的ascii码,转变为字符串 x/=10; } s[j]='/0'; if(i*i==atoi(s))//是把字符串转换成整型数的一个函数。atoi( ) 函数会扫描参数s字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过isspace( )函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('/0')才结束转换,并将结果返回。如果s不能转换成 int 或者s为空字符串,那么将返回 0 { cout<<i<<" "; } } cout<<endl; } return 0;}
新闻热点
疑难解答