1413 - C语言-数字分解
给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123
题目输入
一个不大于5位的数字
题目输出
三行 第一行 位数 第二行 用空格分开的每个数字,注意最后一个数字后没有空格 第三行 按逆序输出这个数
输入/输出样例
题目输入
12345
题目输出
5 1 2 3 4 5 54321
提示
哈姆雷特:数字还是字符?这是一个问题!
C语言解答
#include<stdio.h> int main() { char a[5]; int i,c; for(i=0;i<5;i++) { scanf("%c",&a[i]); if(a[i]=='\n') break; c=i+1; } printf("%d\n",c); for(i=0;i<c;i++) { printf("%c",a[i]); if(i!=c-1) printf(" "); else printf("\n"); } for(i=c-1;i>=0;i--) { printf("%c",a[i]); } printf("\n"); return 0; }
C++解答
#include<iostream> #include<iomanip> #include<fstream> #include<string> #include<climits> #include<cctype> #include<cmath> #include<cstring> using namespace std; int main() { //ifstream cin("aaa.txt"); int i,j,n,m,k,sum,p,len,a[10],l,count; int x,y; string s,b[1000]; cin>>x; memset(a,0,sizeof(a)); a[0]=x;j=0; while(a[j]>=10) { a[j+1]=a[j]/10; a[j]=a[j]%10; j++; } cout<<j+1<<endl; if(j==0) cout<<a[j]<<endl; else { cout<<a[j]; for(i=j-1;i>=0;i--) cout<<" "<<a[i]; cout<<endl; } for(i=0;i<=j;i++) cout<<a[i]; cout<<endl; return 0; }
提示
哈姆雷特:数字还是字符?这是一个问题!