解题思路:
输入n,传入check函数。
开一个数组,存n的每一位数字。
然后遍历数组,sum1为和值,sum2为乘积值。
注意事项:
0! 0! 0! 0! 0!
n=0的时候要特判!!!!!!
然后变量都设置成long long 类型 防止数据过大溢出
参考代码:
#includeusing namespace std; int a[1111]; int flag = 0; long long int sum1 = 0; long long int sum2 = 1; void check(long long int z) { while (z) { a[flag] = z % 10; z /= 10; flag++; } for (int i = 0;i < flag;i++) { sum1 += a[i]; sum2 *= a[i]; } } int main(){ long long int n; cin >> n; check(n); if (n == 0) cout << 0 << " " << 0; else cout << sum1 <<" "<< sum2; return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:586 |
奖学金 (C++代码)浏览:2005 |
printf基础练习2 (C语言代码)浏览:567 |
C语言训练-求素数问题 (C语言代码)浏览:1452 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:608 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:536 |
WU-格式化数据输出 (C语言代码)浏览:1748 |
C语言程序设计教程(第三版)课后习题6.8 (C++代码)浏览:575 |
字符逆序 (C语言代码)浏览:638 |
最小公倍数 (C语言代码)浏览:1026 |