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

求完整代码程序,该如何解决

2012-03-29 
求完整代码程序输入一个五位以内的正整数,(1)判断它是一个几位数;(2)请按序输出其各位数字;(3)逆序输出其

求完整代码程序
输入一个五位以内的正整数,(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;} 

热点排行