问题标题: 1749

2
0
已解决
赵逸凡
赵逸凡
初级启示者
初级启示者
#include<bits/stdc++.h>
using namespace std;
int main()
{
    long long int n,max,min,a[1100];
    long long int i=1,sum=0;
    cin>>n; 
    int m=n;
    while(m!=0)
    {
        a[i]=m%10;
        m/=10;
        i++;
        sum++;
    }
    cout<<sum<<endl;
    i--;
    for(i=i;i>=1;i--)
    {
        cout<<a[i]<<endl;
    } 
    return 0;
}

1749我为什么得90分?


2
已采纳
陆麟瑞
陆麟瑞
资深天翼
资深天翼

可以用字符串操作。

string s;
    cin>>s;
    cout<<s.size()<<endl;
    for(int i=0; i<s.size(); i++)
    cout<<s[i]<<endl;
1
赵逸凡
赵逸凡
初级启示者
初级启示者

陆麟瑞我会用字符串。

但是我想知道用正整数求位的方法来解这道题。

还有long long int型变量为什么错了???

而且尽量省空间。

请注意标题!!!

1
陆麟瑞
陆麟瑞
资深天翼
资深天翼
if(n==0) 
    {
      cout<<1<<endl;
      cout<<0;
      return 0;
    }

把这句加上,少考虑了0

如果是0的情况,你的程序会输出0 0,而正确答案是1 1,应加个特判

0
0
我要回答