解题思路:这题可以分成三个用户自定义函数来实现3个功能
注意事项:这是个人想法,没有看题解
参考代码:
#include <stdio.h> int Num(int sum); void separateDigits(int num); void reverseDigits(int num); int main() { int sum,number; scanf("%d",&sum); number=Num(sum); separateDigits(sum); reverseDigits(sum); return 0; } int Num(int sum) { int number=0; if(sum<0) { sum=-sum; } if(sum==0) { return 1; } while(sum!=0) { sum=sum/10; number++; } printf("%d\n",number); } void separateDigits(int sum) { int num[5]; int count=0; int i; //提取数字 while(sum>0) { num[count]=sum % 10; sum=sum / 10; count++; } //遍历每一个数字 for (i = count - 1; i > 0; i--) { printf("%d ", num[i]); } printf("%d\n", num[0]); // 输出最后一位,不加空格 } void reverseDigits(int sum) { int reversed = 0; while (sum > 0) { reversed = reversed * 10 + (sum % 10); // 提取最后一位并构造逆序数字 sum /= 10; // 去掉最后一位 } printf("%d\n", reversed); }
0.0分
2 人评分
数组输出 (C语言代码)错误???浏览:599 |
A+B for Input-Output Practice (II) (C语言代码)浏览:1041 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1013 |
C二级辅导-等差数列 (C语言代码)浏览:804 |
C二级辅导-公约公倍 (C语言代码)浏览:692 |
P1002 (C++代码)浏览:794 |
C语言程序设计教程(第三版)课后习题8.2 (C++代码)浏览:670 |
C语言程序设计教程(第三版)课后习题8.4 (C++代码)浏览:470 |
简单的a+b (C语言代码)浏览:667 |
纪念品分组 (C++代码)浏览:876 |