解题思路:
%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语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:944 |
【绝对值排序】 (C++代码)浏览:672 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:669 |
C语言训练-亲密数 (C语言代码)浏览:682 |
幸运数 (C++代码)浏览:1265 |
小九九 (C语言描述,不看要求真坑爹)浏览:985 |
演讲大赛评分 (C语言代码)浏览:1640 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:537 |
交换Easy (C语言代码)浏览:763 |
计算质因子 (C语言代码)浏览:707 |