1. 程式人生 > >int 數值翻轉 ,例如將 123 轉化成321

int 數值翻轉 ,例如將 123 轉化成321

本來以為可以用 itoa這個函式,可是在oj平臺上不支援這個函式

這個程式只是把輸入的一個int資料,倒序存放在 石str陣列中

本來還有部分是將 數值倒序輸出例如將 5210 倒序後的 0125 

輸出為125;可是時間關係,就沒有做。

大家可以自己改

另外沒有對輸如資料進行檢查校驗

現在只支援int 正數

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void my_itoa(int x,char *s,char radix);
int atoi_my( char *str);
void main()
{
  int n,i,j,m,sum;
  char str[10],ch;
  scanf("%d",&m);
  my_itoa(m,str,10);
  j=strlen(str)-1; 
  printf("%s\n",str); 
}
void my_itoa(int x,char *s,char radix)
{
char zm[37]="0123456789abcdefghijklmnopqrstuvwxyz";  
int i=0;  
int sum=x;
while(sum>0)  
    {  
        s[i++]=zm[sum%radix];  
        sum/=radix;  
    } 
}
int atoi_my( char *str)  
{  
    int s=0;  
    while(*str>='0'&&*str<='9')  
    {  
        s=s*10+*str-'0';  
        str++;  
        if(s<0)  
        {  
            s=2147483647;  
            break;  
        }  
    }  
    return s; //