问题标题: 酷町堂:1749 横向数字转竖向

0
0
已解决
丁博扬
丁博扬
中级天翼
中级天翼

1749   横向数字转竖向经验值:1200

题目描述 Description

对于一个不多于4位正整数来说,每一位拆分为一个数字,竖向排列,并且在最开始标明这个数字总的位数。

输入描述 Input Description

一个正整数n(0<=n<=9999)

输出描述 Output Description

第一行输出n的位数,随后每一行输出n从高位到低位每一位的数字

样例输入 Sample Input

456

样例输出 Sample Output

3 4 5 6

 

 

90WA错误代码:

#include<iostream>

using namespace std;

int a[10],cnt;

int main(){

    int n;

    cin>>n;

    if(n==0){

        cout<<0<<endl<<0;

        return 0;

    }

    while(n!=0){

        a[++cnt]=n%10;

        n/=10;

    }

    cout<<cnt<<endl;

    for(int i=cnt;i>=1;i--){

        cout<<a[i]<<endl;

    }

    return 0;

}


0
已采纳
汪宇航
汪宇航
新手启示者
新手启示者

if(n==0){

cout<<1<<endl<<0;

}

注意0有一个位:0.

0
郑天羽
郑天羽
初级守护
初级守护

用循环取位数(相信你已经看到了)

头文件注意下

string a;
cin>>a;
cout<<a.length()<<endl;
for(int i=0;i<a.length();i++){
cout<<a[i]<<endl;
}

郑天羽在2021-03-05 20:39:17追加了内容

你这啥意思

0
0
汪恺恒
汪恺恒
中级启示者
中级启示者

你好像把0当0位数了

0
我要回答