编写程序,读取整形数,并计算出所有各位上数字的总和,直到该和降至一位数。例如数字是1256
sum=1+2+5+6=14
sum=1+4=5
您可使用下面具有一个整形数据成员和成员函数的类结构来接受用户输入的数字,进行加法运算,然后显示结果。
Class Number{
Int num;
Public:
Getinfo();
Add_digits();
Display();
};
结果可显示为以下格式:
The sum of the digits of 1256 is 5.#include <iostream>
using namespace std;
int main() { int num; int n,m=1; int sum=0; cin>>num; n=num/10; while(n>0) { m++; n=n/10; } if(m>1) { cout<<"你所输入的数字是:"<<num<<endl; cout<<"你所输入的数字是"<<m<<"位."<<endl; } while(num>10) { cout<<"你所输入数字的各位为:"; for(int i=0;i<m;i++) { sum+=num%10; cout<<num%10<<" "; num=num/10; } cout<<"你所输入数字的各位和为:"; cout<<sum<<endl;
num=sum; sum=0; m=1; n=num/10; while(n>0) { m++; n=n/10; } if(m>1) { cout<<"你所输入的数字是:"<<num<<endl; cout<<"你所输入的数字是"<<m<<"位."<<endl; } }
return 0; } 在VC++6.0下运行测试: 1234567899 你所输入的数字是:1234567899 你所输入的数字是10位. 你所输入数字的各位为:9 9 8 7 6 5 4 3 2 1 你所输入数字的各位和为:54 你所输入的数字是:54 你所输入的数字是2位. 你所输入数字的各位为:4 5 你所输入数字的各位和为:9 Press any key to continue 没有问题哦! ----------------------------------------------------------------------- 挑战自己,超越自己,成就自己!
[此贴子已经被作者于2005-6-17 20:56:10编辑过]