|
发表于 2020-3-4 16:39:40
|
显示全部楼层
自己写的代码,还是不够精炼,当然,你也得考虑到int的取值范围,超范围可能就不对了
- #include "stdafx.h"
- #include <string.h>
- #include "math.h"
- #include<iostream>
- using namespace std;
- int isnum(int num){
- int j,i,len1,len2,ret;
- j=num*num;
- char *str1,*str2;
- i=ret=0;
- str1=(char*)malloc(256*sizeof(char));
- str2=(char*)malloc(256*sizeof(char));
- itoa(num, str1, 10);
- itoa(j, str2, 10);
- len1=strlen(str1);
- len2=strlen(str2);
- printf("%2d %2d %2d %2s %2s\n",j,len1,len2,str1,str2);
- while((str1+len1-i) !=str1)
- {
- i++;
- printf("%c %c\n",*(str1+len1-i),*(str2+len2-i));
- if(*(str1+len1-i)!=*(str2+len2-i))
- {
- ret=0;
- break;
- }
-
-
- ret=1;
- }
-
- return ret;
- }
- void test(){
- int a;
- a=isnum(13);
- printf("%d",a);//1是 0不是
-
- }
- int main()
- {
- test();
- system("pause");
- //getchar();
- return 0;
- }
复制代码 |
|