题目描述:一个各位数字反转后得到的新数字与原数字相等的数叫做幸运数。现输入一个数字,判断它是否是幸运数,是则输出yes,否则输出no。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | //Powered by TCreopargh #include<stdio.h> #include<stdbool.h> int main(int argc,char* argv[]) { int numDigit=0,numArray[31],i=1; long long int numOri,numRev=0,currExp=1; scanf("%lld",&numOri); do { numDigit++; currExp*=10; numArray[numDigit]=(numOri%currExp)/(currExp/10); //数字第numDigit位=输入数字除以当前指数的余数再除以上一位指数 } while(numOri/currExp>=1); do { currExp/=10; numRev+=numArray[i]*currExp; //将数字反转存入numRev i++; } while(i<=numDigit); if(numOri==numRev) //判断反转后的数字是否与原数字相同 printf("yes\n"); else printf("no\n"); return 0; } |
发表回复