解题思路:
%10用来求位数,/10用来递减位数
注意事项:
一开始以为不够大,提交了好多次,改了半天才发现有一个输入0的检测,
所以必须要有手动检测输入0时的状况
参考代码:
#include<iostream>
#include<cstdlib>
int main()
{
using namespace std;
unsigned long long num,a,b,m=0,n=1,s;
cin>>num;
s=num;
if(num==0)
{
cout<<"0 0"; //手动输出0 0,并且退出程序
exit(0);
}
while(num)
{
a=num%10;
n*=a; //计算乘积
m+=a; //计算位数和
num/=10; //减去最后一位
}
cout<<m<<" "<<n;
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:563 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:719 |
字符串输入输出函数 (Java代码)浏览:1437 |
买不到的数目 (C++代码)浏览:864 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:605 |
【回文数(二)】 (C语言代码)浏览:728 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:749 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:1419 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:1418 |
Cylinder (C语言描述+详细分析)浏览:3263 |