解题思路:
%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 人评分
IP判断 (C语言代码)浏览:1414 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:551 |
C语言训练-邮票组合问题* (C语言代码)......浏览:645 |
母牛的故事 (C语言代码)浏览:736 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:564 |
printf基础练习2 (C语言代码)浏览:305 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:590 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:1078 |
【偶数求和】 (C语言代码)浏览:638 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:691 |