首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

从键盘下输入任意整数,逆序输出其各位数字,同时求出其位数及各位数字之和

2012-09-14 
从键盘上输入任意整数,逆序输出其各位数字,同时求出其位数及各位数字之和。从键盘上输入任意整数,逆序输出

从键盘上输入任意整数,逆序输出其各位数字,同时求出其位数及各位数字之和。
从键盘上输入任意整数,逆序输出其各位数字,同时求出其位数及各位数字之和。
这题目咋地做撒?
给点提示,是将输入的任意整数赋给数组呢?还是一个整型的数?
但是输入的位数又不确定,
这怎么搞?


[解决办法]
while(number)
{
a[i++] = number%10;
number = number/10;
}
[解决办法]
会STL吗?
使用vector, 读到一个数就往vector里面push_back数据。直到结束!

求和的话,可以遍历一遍,累加数据!

或者#include<algorithm>

有累加,翻转数据的算法!不多说了,自己去慢慢研究下!


[解决办法]

探讨
while(number)
{
a[i++] = number%10;
number = number/10;
}

[解决办法]
探讨
while(number)
{
a[i++] = number%10;
number = number/10;
}

[解决办法]
我觉得至于这个任意数,它的位数你没有必要纠结太多。
假如说是3位数,你把它分离出来放到一个数组里面,那么逆序输出和求和就很简单了。
分离
a[1]=num/100;
a[2]=num%100/10;
a[3]=num%10;
[解决办法]
探讨

while(number)
{
a[i++] = number%10;
number = number/10;
}

[解决办法]
探讨

# include <iostream>
# include <math.h>
using namespace std;
int main ()
{
double s=0;
int n;
cout<<" please input int number "<<endl;
cin>>n;
for(int i=0;i<=10;i++)
{

s=n/pow(10,i);
if……

[解决办法]
探讨

引用:
while(number)
{
a[i++] = number%10;
number = number/10;
}

这个好像可以,不过这种方法不是要定义一个数组?
那数组维数是多少??

[解决办法]
楼主,这个用子串处理很方便的。


C/C++ code
#include "iostream"#include "string"using namespace std;int main(){    string str;    int i,sum = 0;    cin >> str;    cout<<"逆序:";    for(i=str.length() - 1; i >=0 ; --i){        cout <<str[i]; sum += str[i] - '0';    }    cout <<endl;        cout <<"位数:"<<str.length()<<endl;    cout <<"各位数字之和:" << sum <<endl;    return 0;}
[解决办法]
#include <iostream>
using namespace std;
int main()
{
int sum=0,counti=0,i=0;;
int a[100];
int n;
cout<<"请输入一个整数"<<endl;
cin>>n;
while(n)
{

a[i++]=n%10;
n=n/10;
counti++;
}
for (int j=0;j<counti;j++)
{
cout<<a[j]<<endl;
sum+=a[j];
}
cout<<"各数字的和为:"<<sum<<endl;
 
}

热点排行