将一个整数正序输出

    技术2022-07-16  76

    方法一:先逆序再逆序

    # include<stdio.h> int main() { int x; scanf("%d",&x); int t = 0; do{ int d = x; t = t*10+d; x /= 10; }while(x>0); printf("x=%d,t=%d\n",x,t); x = t; do{ int d = x % 10; printf("%d", d); if(x>9){ printf(" "); } x /= 10; }while(x>0); printf("\n"); return 0; }

    缺点:不适合末尾为0的正整数 

    方法二:

    # include<stdio.h> int main() { int x; scanf("%d",&x); int mask = 1; int t = x; // 判断几位数 while(t>9){ t /= 10; mask *= 10; } printf("x=%d,mask=%d\n", x, mask); // 正序输出 do{ int d = x / mask; printf("%d", d); // 最后一个数输出后无需加空格 if(mask > 9){ printf(" "); } x %= mask; mask /= 10; }while( mask > 0 ); printf("\n"); return 0; }

     

    Processed: 0.012, SQL: 10