c++输出该数的各位数字之和?

如题所述

输出该数的各位数字之和的源代码如下:

#include <stdio.h>

int fun(int n)

{

int i;

int sum=0;

if(n>1000||n<0)

{

puts("输入的数字超出范围!"); // 错误信息提示

}

else

{

for(i=2;i<n;i++) // 循环遍历n,取出因子,并进行累加

{

if(0 == n%i)

{

sum+=i;

}

}

}

return sum;

}

void main()

{

int n,sum;

printf("Input n: ");

scanf("%d",&n);

sum=fun(n);

printf("sum=%d\n",sum);

}

扩展资料

1、输入的数字要是整数,并且要在规定范围内。

2、对输入的数要进行拆分,注意1和本身不能在求和之中。

3、可以使用循环对输入的数(n)遍历,如果n%i余为0,则表明能整除,次i则为因子。

温馨提示:内容为网友见解,仅供参考
无其他回答

c++输出该数的各位数字之和?
输出该数的各位数字之和的源代码如下:include <stdio.h> int fun(int n){ int i;int sum=0;if(n>1000||n<0){ puts("输入的数字超出范围!"); \/\/ 错误信息提示 } else { for(i=2;i<n;i++) \/\/ 循环遍历n,取出因子,并进行累加 { if(0 == n%i){ sum+=i;} } } return...

C++ 输入一个正整数,计算输出该数的各位数字之和,各位数字的平均数
t为各位数字之和,ave为平均值。

读入一个四位正整数,输出它们的各位数字之和。用c++语言
} printf("%d位数,各位数字之和为%d\\n",i,sum);}

C++中如何计算任何一个正整数的各位数字之和?
【解题思路】取得一个正整数各位数字之和,首先就是要分离出各位上的数字。可以通过取余运算符(%)和除号(\/)来完成,具体的思路如下:比如要求123这个整数各位数字的和。第一步是先将123除以10取余数,得到3;第二步是把123除10取整得到12,然后再把12除10取余得到2;第三步是把12除10取整得到1,...

用C++语言,从键盘上输入一个三位整数,求各位数字之和。
include <iostream> using namespace std;void main(){ int a,b;cout<<"请输入一个100-999之间的整数\\n";cin>>a;b=a\/100+a%10+(a\/10)%10;cout<<"各位数字之和为:"<<b<<endl;}

c++编程输入一个整数,求他的各位数字之和及位数
var count:string;n,m,i,max:integer;begin count:=inttostr(n);m:=length(count);for i:= to m do begin max:=max+strtoint(count[i]);end;end;我用delphi做的 ,思路其实是一样的 ,你改下语法就可以了 ,时间长不用C了

...整数,逆序输出其各位数字,同时求出其位数及各位数字之和。c++...
int weishu=0,sum=0;void reverse(long n){weishu++;sum+=n%10;printf("%d",n%10);if(n>9)reverse(n\/10);} int main(void){ long x;printf("请输入一个整数:");scanf("%ld",&x);reverse(x);printf("\\n这是一个%d位数,各位数字之和为%d\\n",weishu,sum);getch();return 0;...

有c或c++如何求一个正整数的各位数上数字之和
include<iostream> include<string> using namespace std;int main(){ string s;int len,sum,i;cout<<"请输入数字:";cin>>s;len=s.size();sum=0;for(i=0;i<len;i++)sum+=s[i]-'0';cout<<"各位数字之和为:"<<sum<<endl;return 0;} ...

C++中如何编一个输入一个正整数,然后输出其各位数字,并求和,然后再求逆...
int n,a[11],sum=0,k=0;cin>>n;while(n){ a[k++]=n%10;\/\/提取各个位 sum+=n%10;\/\/各个位数累加 n\/=10;} for(int i=k-1;i>=0;i--)\/\/正序输出 cout<<a[i]<<" ";cout<<endl;cout<<sum<<endl;\/\/输出各个位累加和 for(int i=0;i<k;i++)\/\/输出逆序输出 cout<...

C++输入一个正整数,要求编写函数,计算该整数的各个数字之和的流程图
"; cin>>num; \/\/读取一个整数ultoa(num,hstr,10); \/\/把整数转化成字符串for(int i=0;i<strlen(hstr);i++){ sum+=(int)(hstr[i]-48); \/\/把字符串的每个字符转化成int并对之求和 } cout<<"该整数各个数位数字之和sum= "<<sum<<endl; \/\/输出求和结果 return 0; } ...

相似回答
大家正在搜