解题思路:
输入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 人评分
A+B for Input-Output Practice (C语言代码)浏览:468 |
【计算直线的交点数】 (C语言代码)浏览:923 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:616 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:512 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:531 |
判定字符位置 (C++代码)浏览:676 |
简单的a+b (C语言代码)浏览:653 |
发工资咯 (C语言代码)浏览:793 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:517 |
用筛法求之N内的素数。 (C语言代码) 详解………………浏览:1054 |