| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
2845 01000001 的问题。我的代码是:
#include <stdio.h>
#include <string.h>
long d2ten(char a[])//二进制转换十进制
{
long result = 0;
int len = strlen(a);
int i;
for(i=0;i<len;i++)
{
if(a[i]>='2')
return -1;
result = result*2;
result = result + (a[i] - '0');
}
return result;
}
void ten2d(long n)//十进制转换二进制
{
int i;
int j;
long a[1000];
for(i=0;i<1000;i++)
{
a[i] = n%2;
n=n/2;
if(n==0)
break;
}
for(j=i;j>=0;j--)
{
printf("%d",a[j]);
}
printf("\n");
}
void main()
{
int n;
char a[85],b[85];
int num=1;
long r1;long r2;long r3;
int i;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s %s",&a,&b);
r1 = d2ten(a);
r2 = d2ten(b);
r3 = r1 + r2;
printf("%d ",num++);
ten2d(r3);
}
}
测试的挺多的。可是一直不能通过。请高手帮忙指出我的代码的问题。谢谢!!
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator