作者在 2009-07-10 06:51:17 发布以下内容
#include<stdio.h>
#include<string.h>
#define N 33
long two_ten( const char * ,int);
long num;
int main(void)
{
char str[N];
long ten;
while(1)
{
num=0;
fgets(str,N,stdin);
if(str[0]=='0')
{
printf("ten=0\n");
break;
}
str[strlen(str)-1]='\0';
ten= two_ten(str,strlen(str)-1);
printf("ten=%ld\n",ten);
}
return 0;
}
long two_ten( const char *str,int len)
{
int i;
int tmp;
if(*str=='\0')
{
return num;
}
if(*str!='0')
{
tmp=1;
for(i=0;i<len;++i)
{
tmp*=2;
}
num+=tmp;
}
two_ten(str+1,len-1);
}
#include<string.h>
#define N 33
long two_ten( const char * ,int);
long num;
int main(void)
{
char str[N];
long ten;
while(1)
{
num=0;
fgets(str,N,stdin);
if(str[0]=='0')
{
printf("ten=0\n");
break;
}
str[strlen(str)-1]='\0';
ten= two_ten(str,strlen(str)-1);
printf("ten=%ld\n",ten);
}
return 0;
}
long two_ten( const char *str,int len)
{
int i;
int tmp;
if(*str=='\0')
{
return num;
}
if(*str!='0')
{
tmp=1;
for(i=0;i<len;++i)
{
tmp*=2;
}
num+=tmp;
}
two_ten(str+1,len-1);
}