C++程序输入一个长整数,求各位数字的平方和

如题所述

#include <iostream>



using std::string;

using std::cin;

using std::cout;

using std::endl;

int _tmain(){

 long long temp,tmp=0;

 cout<<"cin>>temp"<<endl;

 cin>>temp;

 while(!cin){

  cin.clear();

  cout<<"输入数字"<<endl;

  cin>>temp;

 }

 while(temp){

  tmp+=(temp%10)*(temp%10);

  temp/=10;

 }

 cout<<"各个位数数字平方之和为:"<<tmp;

 getchar();

 return 0;     

}

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-29
#include "stdafx.h"
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
void main()
{
    string number;
    cout<<"please input a number:"<<endl;
    cin>>number;
    int length = number.size();
    cout<<length<<endl;
    long sum = 0;
    for (int i=0;i<length;i++)
    {
        sum = sum + (number[i]-48)*(number[i]-48);//减48的意思是把字符转换成数字
                                                  //这样就解决了楼上的问题
    }
    cout<<"the sum is: "<<sum<<endl;
    system("pause");
}

楼上那个程序严重有问题,稍微大点的数字你的程序就无法运算

本回答被网友采纳
第2个回答  2017-07-22
当成字符串,用拆分函数,平方再加起来

C++程序输入一个长整数,求各位数字的平方和
cin){ cin.clear(); cout<<"输入数字"<<endl; cin>>temp; } while(temp){ tmp+=(temp%10)*(temp%10); temp\/=10; } cout<<"各个位数数字平方之和为:"<<tmp; getchar(); return 0; }

用c语言帮我编个程序:求各位数字的平方和为100的四位数的个数
int main(){ int count = 0;for(int i(1000),j,sum;i<=9999;i++){ j = i;sum = 0;for(int z=1;z<=4;z++){ sum +=(j%10)*(j%10);j \/=10;} if(sum == 100)count++;} cout<<count<<endl;}

c++编程输入一个整数,求他的各位数字之和及位数
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++设计一个程序,输入一个整数,输出组成该整数的各位数字,并求出它...
include using namespace std ; int main() { int n; int unit,tens,hund; cin >> n ; unit = n%10 ; tens= n\/10%10; hund=n\/100; if ( hund < tens ) { int temp=hund;hund=tens;tens=temp; } if ( hund < unit ) { int temp=hund;hund=unit;u...

c++编程题,输入一个整形数,求各位数字的和,如,输入123,输出6
int main(){int input;cin>>input;int sum=0;while(input>10){ sum+=input%10; input=input\/10;}sum+=input;cout<<sum;}

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++
include <iostream>#include <cmath>using namespace std;double func(int n){ double r = 0; while(n) { r+=sqrt(n%10); n\/=10; } return r;}int main(){ int n; cin>>n; cout<<func(n)<<endl; return 0;} ...

c编程任意输入一个整数,要求计算并输出此整数的各位数字之和。如:231...
include <stdio.h>void main(){int n,s=0;scanf("%d",&n);while(n){s+=n%10;n\/=10;}printf("%d",s);}运行示例:

c语言编程:输入一个很大的整数n(n<100),输出n各位数字之和 ,利用字 ...
思路:输入字符串,从字符串的第一个位置开始依次把每个数字字符转成整数,并计算其累加和。参考代码:include "stdio.h" #include "string.h" int main() {char a[100];int i,sum=0;gets(a); for(i=0;a[i]!='\\0';i++)\/\/遍历求累加和 sum+=a[i]-'0';printf("%d\\n",sum...

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

相似回答