给定一个正数,将其倒转并输出。

不是正整数,有可能有小数
且小数部分不超过五位数

望采纳!!

#include<bits/stdc++.h>
using namespace std;
 
class fudian
{
public:
    fudian(const char *ss)
    {
        len=strlen(ss);
        s=(char*)malloc(len+1);
        strcpy(s,ss);
    }
    void init(const char *ss)
    {
        len=strlen(ss);
        s=(char*)malloc(len+1);
        strcpy(s,ss);
    }
    ~fudian()
    {
        if(s!=NULL)
            free(s);
        s=NULL;
        len=0;
    }
    int getlen()
    {
        //cout<<len<<endl;
        return len;
    }
    void print()
    {
        int flag = 1,i,d;
        int pointer=0;
        //char *c;
        //c=(char*)malloc(len);
        for(i = 0; s[i]; ++i) 
        {
            if(s[i] == '.') 
            {
            flag = 0;
            d = i;
            break;
            }
         }
        if(flag) {  // 没有小数点,当然可能性不大
            printf("整数部分:");
            for(i = 0; s[i]; ++i)
            {
                printf("%c ",s[i]);
                pointer=i;
            //    c[i]=s[i];
            }
            
            printf("\n");
        }
        else {
            printf("整数部分:");
            for(i = 0; s[i] != '.'; ++i)
            {
                printf("%c ",s[i]);
                //c[i]=s[i];
            }
            printf("\n");
            printf("小数部分:");
            for(++i; s[i]; ++i)
            {
                printf("%c ",s[i]);
                //c[i]=s[i];
            }
 
            printf("\n");
            
    }
    }
    void diverse()
    {
        int i;
        printf("逆序结果为:");
        for(i=len-1;i>=0;i--)//逆序输出
        {
        printf("%c",s[i]);
       /* if(i!=0) 
            printf(" ");//不取消掉最后一个空格可能会造成格式错误
        */
        }
        printf("\n");
        
    }
 
private:
    int len;
    char *s;
};
 
/*int main01()
{
    fudian obj1("32.01");
    cout<<obj1.getlen()<<endl;
    obj1.print ();
    obj1.diverse ();
    return 0;
}*/
int main()
{
    char m[20];
    cout<<"请输入浮点数:"<<endl;
    cin>>m;
    fudian obj1(m);
 
    
    //obj1.init (m);
    
    //m=strlen(pp);
    //char *p = new char[m];
 
 
    //fudian obj1("32.01");
    
    //cout<<obj1.getlen()<<endl;
    obj1.print ();
    obj1.diverse ();
 
    return 0;
}
#include <stdio.h>
#include <string.h>
int main()
{
    float a;
    char buf[128];
    int i,j;
    scanf("%f",&a);
    sprintf(buf, "%.5lf", a); //小数转换为字符串
    j=strlen(buf);
    for(i=j-1;i>=0;i--)
    {
        printf("%c",buf[i]);
    }
    return 0;
}