读书人

进制变换 (九度oj-大整数除法)

发布时间: 2013-03-10 09:38:39 作者: rapoo

进制转换 (九度oj--大整数除法)
前言唉,总感觉想帮助老师确是力不从心,只能尽自己最大的努力,这一年多下来看还是学生靠谱,学历高靠谱,学历不能反应所有问题,但是可以反应大部分问题,至少我身为硕士经常学习算法或者计算机其它方面东西到深夜
题目



AC代码
#include <stdio.h>#include <string.h>#include <stdlib.h> #define DATA 40#define MAX 200 void tenToBin(char *str); char bin[MAX]; int main(){    char str[DATA];     while(scanf("%s", str) != EOF)    {        tenToBin(str);        puts(bin);      }     return 0;} /** * Description:字符串整数转换为二进制 */void tenToBin(char *str){    int i, j, k, len, sum, d;    char temp;     //初始化参数    sum = 1;    len = strlen(str);    k = 0;    memset(bin, 0, sizeof(bin));     while(sum)    {        sum = 0;         for(i = 0; i < len; i ++)        {            d = (str[i] - '0') / 2;            sum += d;             if(i == len - 1)            {                bin[k ++] = (str[i] - '0') % 2 + '0';            }else            {                str[i + 1] += (str[i] - '0') % 2 * 10;            }             str[i] = d + '0';        }    }         //逆序    for(i = 0, j = k - 1; i < j; i ++, j --)    {        temp = bin[j];        bin[j] = bin[i];        bin[i] = temp;    }}/**************************************************************    Problem: 1138    User: wangzhengyi    Language: C    Result: Accepted    Time:90 ms    Memory:908 kb****************************************************************/


读书人网 >编程

热点推荐