解题思路:通过乘方再取余获得最高位和去掉最高位、动态控制位宽
注意事项:逐位输出用count(位数)作为判断表达式,别用 i(当前值)
参考代码:
#include <stdio.h> #include <math.h> int main(){ int num,count=0; scanf("%d",&num); // 1、计数 for(int i=num;i;i/=10) count++; printf("%d\n",count); // 2、逐位输出 ,用count判断要输出几位 // 用 i则不会输出所有末位0,如 123000 只输出 1 2 3 for(int i=num;count;i%=(int)pow(10,count)) // 动态控制位宽,由于--count,只剩下一位时,count=0,位宽 1 printf("%*d",count?-2:1,i/(int)pow(10,--count)); printf("\n"); // 3、反序输出 for(int i=num;i;i/=10) printf("%d",i%10); }
0.0分
0 人评分
C二级辅导-同因查找 (C语言代码)浏览:564 |
点我有惊喜!你懂得!浏览:2072 |
C语言考试练习题_排列 (C语言代码)浏览:725 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:620 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:1246 |
C语言训练-数字母 (C语言代码)浏览:649 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:585 |
【魔板】 (C++代码)(时间超限,希望会的帮我改正一下)浏览:745 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:702 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:787 |