求完整代码程序
输入一个五位以内的正整数,(1)判断它是一个几位数;(2)请按序输出其各位数字;(3)逆序输出其各位数字。
如输入:56439,输出:5位数
5,6,4,3,9
9,3,4,6,5
[解决办法]
- C/C++ code
//#include <stdio.h>//#include <stdlib.h>////typedef struct node//{// int value;// struct node *next;//}LinkList;////int isLoop(LinkList *L)//{// LinkList *fast,*slow;// fast=slow=L;// while (fast!=NULL&&fast->next!=NULL)// {// fast=fast->next->next;// slow=slow->next;// if (fast==slow)// {// return 1;// }// }// return 0;//}#include <stdio.h>#include <math.h>int JudgeDig(int n) //判断位数{ return log10(n)+1;}void SplitNumber(int *a,int n) //拆分数字{ int i=0; while (n>0) { a[i++]=n%10; n/=10; }}void PoOutput(int *a,int len) //正序输出{ int i; printf("正序输出:"); for (i=len-1;i>=0;i--) { printf("%3d",a[i]); } printf("\n");}void NeOutput(int *a,int len) //逆序输出{ int i; printf("逆序输出: "); for(i=0;i<len;i++) { printf("%3d",a[i]); } printf("\n");}int main(){ int n,len,a[6]; printf("Please input a number: \n"); scanf("%d",&n); len=JudgeDig(n); printf("位数=%d\n",len); SplitNumber(a,n); PoOutput(a,len); NeOutput(a,len); return 0;}
[解决办法]
#include<iostream>
using namespace std;
int main()
{
int A[5]={0};
int x;
cin>>x;
int j=-1;
while(x)
{
A[++j]=x%10;
x/=10;
}
int i;
for(i=j;i>=0;i--)
{
cout<<A[i];
if(i!=0)
cout<<",";
}
cout<<endl;
for(i=0;i<=j;i++)
{
cout<<A[i];
if(i!=j)
cout<<",";
}
cout<<endl;
return 0;
}
[解决办法]
- C/C++ code
# include <stdio.h># include <math.h>int main(void){int number;int number_signed; printf("Please input a number which xiaoyu 5 weishu:"); scanf("%d",&number_signed);number = number_signed; int i =0; do { number=number/10; i++; }while(number!=0); printf("%d位数\n",i);//判断有几位数 结束 int y ; int x = 0; for(y= number_signed;y!=0;) { int z=pow(10,--i); // printf("Z是%d\n",z); x=y/z; y=y%z; //printf("y 是%d\n",y); printf("%d\t",x); //x=y; } printf("\n");//正输出结束 int temp_1; int temp_2; //int radmun =0 ; for(temp_1=number_signed;temp_1!=0;) { temp_2=temp_1%10; printf("%d\t",temp_2); temp_1=temp_1/10; } printf("\n"); // 逆向输出结束 return 0;}