啊,先说下今天的事情吧,今早早上正做梦呢,宋祖儿正扶着我回家呢,那个可恶的学长又又打呼噜把我吵醒了,才四点五十,我真的想一板砖呼死他,然后七点到了实习基地发现基地没电,电脑打不开,于是打了一个小时的游戏,,,难受的不行,八点半才来电,好在今天的题目不是很难。十进制转化为二进制
回到正轨,这道题和昨天的题目很像,都是和进制转换有关的,确切的说,今天的思想用到了昨天的思想,就是昨天那个conversion函数,怎么都看不懂,看了一下大佬的代码果然还是这个函数,反正我也看不懂,就当做个公式记住好了,不是很难记,每天多看两遍就好了,我觉得昨天那个我应该也会做了,一会去看看,来上代码。
#include <stdio.h>
#include<string.h>
/*int conversion(char s[],int d[],int x,int y)//x为原来的进制,y为要转化的进制
{
int len=strlen(s);
int index=0;//数组下标
for(int i=0;i<len;)
{
int rest=0;
for(int j=i;j<len;j++)
{
int temp=rest*x+s[j]-'0';
rest=temp%y;
s[j]=temo/y+'0';
}
d[index++]=rest;
while(s[i]-'0'==0) i++;
}
}*/
int main()
{
char s[32];
int d[2000];
while(scanf("%s",s)!=EOF)
{
int len=strlen(s);
int index=0;
for(int i=0;i<len;)
{
int rest=0;
for(int j=i;j<len;j++)
{
int temp=rest*10+s[j]-'0';
rest=temp%2;
s[j]=temp/2+'0';
}
d[index++]=rest;
while(s[i]-'0'==0) i++;
}
for(int i=index-1;i>=0;i--)
{
printf("%d",d[i]);
}
}
return 0;
}
但行好事,莫问前程,加油。另,
强烈推荐这首歌,尤其是憨的声音,不知道什么感觉,好像是小孩子受了什么委屈快要哭的那种感觉。
网友评论