解题思路:
输入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.2 (C语言代码)浏览:1483 |
字符串输入输出函数 (C语言代码)浏览:2604 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:672 |
C二级辅导-同因查找 (C语言代码)浏览:618 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:331 |
C语言训练-自守数问题 (C语言代码)浏览:798 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:592 |
班级人数 (C语言代码)浏览:980 |
小O的数字 (C语言代码)浏览:1490 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:560 |